3ds Max 2008 на 100 % Верстак Владимир
4. Выполните команду Modifiers ? Patch\Spline Editing ? Edit Spline (Модификаторы ? Редактирование патчей\сплайнов ? Редактирование сплайнов) и увеличьте одну сторону при помощи редактирования точек.
Диаметр сплайна должен быть несколько больше размера сферы, чтобы текст, облетая Землю, находился на некотором расстоянии от нее (рис. 6.34).
После построения сплайнов можно приступать к анимации движения Земли.
1. Щелкните на Земле, чтобы выделить ее.
2. Выполните команду Animation ? Constraints ? Path Constraint (Анимация ? Ограничения ? Ограничение по пути).
3. После выбора пункта меню Path Constraint (Ограничение по пути) появится указатель с пунктирной линией для выбора сплайна и привязки к нему. Щелкните на сплайне пути для Земли.Рис. 6.34. Траектории полета текста и сферы
ПРИМЕЧАНИЕ
Этого же результата (то есть анимации Земли) можно добиться еще как минимум двумя способами: при помощи анимации по траектории и путем применения модификатора PathDeform (Деформация по траектории) (этим способом позже будет анимирован текст).
Если сейчас щелкнуть на кнопке Play Animation (Воспроизвести анимацию), то можно увидеть, как в окне вида из камеры при проигрывании анимации движется сфера вдоль сплайна на протяжении всех 900 кадров. Согласно схеме (см. рис. 6.31) анимация движения сферы должна длиться 200 кадров. Чтобы это сделать, выделите в строке треков ключ анимации, расположенный в 900 кадре, и передвиньте его (Земля должна быть при этом выделена) из 900 кадра в 200-й.
Кроме задания сфере поступательного движения, нужно сделать так, чтобы она вращалась. Этого можно добиться одним из трех способов:
? написать небольшой сценарий для задания угла поворота Земли в единицу времени;
? назначить контроллер для вращения (аналогично тому, как вы делали для движения);
? анимировать сферу в окне проекции Top (Cверху).
Самый простой способ – третий. Для анимации вращения Земли выполните следующие действия.
1. Перейдите в 200 кадр (предположительно Земля будет делать один оборот в течение 200 кадров). Для этого в правом нижнем углу программы введите в окошко счетчика кадров значение 200 и нажмите клавишу Enter. В результате ползунок таймера переместится в нужный кадр.
2. Щелкните на кнопке создания ключевых кадров анимации Auto Key (Автоключ), и программа запишет все изменения, выполняемые в сцене, в ключевые кадры.
3. В окне проекции Top (Cверху) поверните сферу на 360°. В результате для сферы по оси Z в 200 кадре добавится ключ.
4. Щелкните еще раз на кнопке Auto Key (Автоключ), чтобы выключить автоматическую установку ключей.
Если сейчас воспроизвести анимацию, то можно увидеть, что сфера не только движется по пути, но и вращается (делает один оборот вокруг своей оси за время движения по пути).
Но это еще не все. Согласно плану сфера должна вращаться постоянно. Можно было сразу поставить ключ анимации в последний кадр и повернуть сферу столько раз, сколько нужно. Однако существует и другой способ – зациклить вращение Земли вокруг своей оси, то есть сделать его повторяющимся бесконечно.
Для этого выделите сферу и откройте окно редактора кривых, щелкнув на кнопке Curve Editor (Open) (Редактор кривых (открыть)), находящейся на панели инструментов, или выполните команду Graph Editors ? Track View – Curve Editor (Графические редакторы ? Просмотр треков – редактор кривых). В результате появится окно Track View – Curve Editor (Просмотр треков – редактор кривых).
В окне редактора кривых выберите нужный параметр (в моем случае – это Z Rotation (Вращение по оси Z)), затем щелкните на кнопке Parameter Curve Out-of-Range Types (Типы экстраполяции параметрических кривых)
что вызовет появление одноименного окна. В этом окне вы можете задать, каким образом будет выполняться анимация параметра, соответствующего выделенному треку, за пределами заданного диапазона. Укажите вариант Cycle (Циклический), при котором все значения параметра периодически будут повторяться в пределах заданного диапазона. Иначе говоря, Земля будет непрерывно вращаться со скоростью один оборот за 200 кадров.
Чтобы Земля вращалась равномерно, выделите ключи анимации в окне Track View – Curve Editor (Просмотр треков – редактор кривых) и нажмите кнопку Set Tangents to Linear (Установить линейное управление)
Перейдем к созданию и анимации текста.
1. Выполните команду Create ? Shapes ? Text (Создание ? Формы ? Текст).
2. В поле Text (Текст) свитка Parameters (Параметры) введите текст, который нужно анимировать.
3. Примените к тексту модификатор Bevel (Выдавливание со скосом).
4. Настройте модификатор по своему усмотрению.
После создания в сцене надписи ее нужно анимировать, то есть заставить двигаться по созданному ранее пути. Для этого служит модификатор PathDeform (WSM) (Деформация по траектории (WSM)). В свитке Parameters (Параметры) настроек этого модификатора щелкните на кнопке Pick Path (Указать путь) и выберите в любом окне проекции второй сплайн, созданный для траектории движения надписи. После этого щелкните на кнопке Move to Path (Передвинуть на путь) (рис. 6.35), чтобы текст занял свою позицию в начале сплайна.
Кроме того, мне пришлось дополнительно задать ось ? в качестве оси деформации по траектории и развернуть текст на 90° (вам, возможно, это делать не понадобится: все будет зависеть от того, в каком окне проекции строятся объекты).
Нам необходимо, чтобы движение текста по пути начиналось в тот момент, когда Земля окажется в конце своего пути. Для этого придется создать ключи анимации для модификатора PathDeform (WSM) (Деформация по траектории (WSM)), контролирующие начало и окончание движения текста. Чтобы сделать это, выполните следующие действия.
Рис. 6.35. Настройки модификатора PathDeform (WSM) (Деформация по траектории (WSM))
1. Перейдите в 500 кадр (в этом кадре будет заканчиваться движение текста по пути).
2. Щелкните на кнопке создания ключевых кадров анимации Auto Key (Автоключ), и программа запишет все изменения, выполняемые в сцене, в ключевые кадры.
3. В свитке Parameters (Свойства) модификатора PathDeform (WSM) (Деформация по траектории (WSM)) измените значение параметра Percent (Проценты) на 100. В результате в 0 и 500 кадре добавятся ключи анимации.
4. Передвиньте ключ анимации из 0 кадра в 200 (в этом кадре будет начинаться движение текста по пути).
5. Щелкните еще раз на кнопке Auto Key (Автоключ), чтобы выключить автоматическую установку ключей.
В результате у вас должно получиться изображение, похожее на рис. 6.36.
На данном этапе анимации необходимо применить некоторые эффекты. Дело в том, что текст, который вы анимировали по сплайну, привязан к этому сплайну, то есть не может передвигаться в пространстве самостоятельно. Для наглядности можете попробовать передвинуть текст по любой из осей X, Y или Z. Согласно поставленной задаче необходимо наехать текстом на камеру, причем этот текст должен не только наехать, но и в процессе движения выгнуться в сторону камеры. Это можно сделать двумя способами.
? Анимировать сам сплайн, то есть заставить его двигаться (вместе с ним будет двигаться и наш текст) навстречу камере. Для этого нужно активизировать кнопку Auto Key (Автоключ) и передвинуть сплайн в пространстве, в результате чего появятся два ключа анимации. Нечто похожее вы уже делали со сферой для анимации ее вращения. Однако в таком случае возникает новая проблема, связанная с изгибом текста, которую можно решить только путем анимации вершин сплайна. Это было бы несложной задачей, если бы сплайн не содержал большое количество вершин.
? Подменить один текст другим в момент, когда он сделает полный оборот вокруг Земли. С таким текстом (уже не привязанным к сплайну) можно делать все, что угодно. Но здесь возникает новая проблема, вызванная изгибом текста. Решить ее можно также несколькими способами: с помощью модификатора Morpher (Морфинг), предварительно взяв ровный текст для объекта Target (Цель), или применив модификатор Bend (Изгиб).
Второй способ лучше всего подходит для данной ситуации. Однако, при использовании его необходимо, чтобы сплайн был круглым в месте подстановки нового текста. Для корректного изгиба надписи при помощи модификатора Bend (Изгиб) она должна быть изначально выгнута симметрично.
Прежде всего необходимо скопировать текст в его конечной точке анимации. Однако, если вы попробуете сделать копию обычным способом, вместе с ней наследуются все свойства модификатора PathDeform (Деформация по траектории). Причем, как только вы попытаетесь удалить его из стека модификаторов, текст примет первоначальную форму и, более того, поменяет положение в пространстве. Другой способ – вместо копирования объекта сделать его дубликат. Для этого выделите текст (в конечной точке его анимации) и выполните команду Tools ? Snapshot (Инструменты ? Снимок).
После создания дубликата примените к нему модификатор Bend (Изгиб). В данном случае, чтобы модификатор корректно выгнул текст в противоположную сторону, настройте положение Gizmo (Габаритный контейнер Гизмо) модификатора так, как показано на рис. 6.37.Рис. 6.36. Надпись, деформированная по сплайну
Рис. 6.37. Положение габаритного контейнера модификатора Bend (Изгиб)
Чтобы подмена текста не была заметна, нужно сделать так, чтобы одновременно при анимации визуализировалась только надпись Easy Render. Этого можно добиться, установив этим двум объектам ключи для свойства Visibility (Видимость) в зависимости от того, будет виден в данный момент один объект текста или другой. Для этого щелкните на объекте текст, который был построен позже, правой кнопкой мыши. В появившемся контекстном меню выберите пункт Object Properties (Свойства объекта), в результате чего откроется одноименное окно. Задайте параметру Visibility (Видимость) значение 0 и щелкните на кнопке OK (рис. 6.38). После этого перейдите в кадр 501 (здесь будет происходить подмена текста) и, щелкнув на кнопке Auto Key (Автоключ), активизируйте запись ключей. Затем снова откройте окно Object Properties (Свойства объекта) для текста. Теперь зададим параметру Visibility (Видимость) значение, равное 1, то есть объект станет видимым. Осталось только выключить запись ключей и передвинуть первый ключ, который создался по умолчанию, из нулевого кадра в 500-й.
Рис. 6.38. Область Rendering Control (Контроль визуализации) окна Object Properties (Свойства объекта)
В результате этих манипуляций вторая надпись будет невидимой до 500 кадра, а в 501 будет видна полностью.
Для надписи, привязанной к сплайну, нужно провести те же операции, только наоборот, то есть сделать так, чтобы до 500 кадра в настройках объекта параметр Visibility (Видимость) был равен 1 (текст виден), а в 501 кадре – 0 (текст невиден). Таким образом, произойдет подмена одного текста другим. Вся дальнейшая анимация разворачивания текста и наезда на камеру будет проводиться с новым текстом.
Для окончания процесса анимации текста сделайте следующее.
1. Перейдите в 700 кадр (здесь согласно раскадровке заканчивается наезд на камеру).
2. Щелкнув на кнопке Auto Key (Автоключ), активизируйте запись ключей.
3. Путем простого перетаскивания текста измените его положение в пространстве так, чтобы он оказался за камерой (рис. 6.39).Рис. 6.39. Анимированная надпись
4. В параметрах модификатора Bend (Изгиб) измените значение угла на –190 (рис. 6.40). При этом стрелки справа от поля подсветятся красными уголками, что указывает на то, что к этому параметру применена анимация.
5. Нажмите кнопку Auto Key (Автоключ), чтобы выключить запись ключей, а затем опять щелкните на этой кнопке, чтобы активизировать запись ключей.
6. Выделите и передвиньте ключи анимации, автоматически созданные программой, из нулевого в 500 кадр (начиная с этого кадра, происходит наезд на камеру).
Теперь осталось совсем немного: создать и анимировать надпись ПРЕДСТАВЛЯЕТ. Для этого создайте объект Text (Текст) и напишите слово ПРЕДСТАВЛЯЕТ (естественно, вы можете ввести что-либо другое). Затем при помощи модификатора Extrude (Выдавливание) или Bevel (Выдавливание со скосом) придайте тексту объем и поместите его перед камерой (рис. 6.41).Рис. 6.40. Настройки модификатора Bend (Изгиб)
Надпись готова, можно заняться ее анимацией, которая будет сводиться к анимации параметра Visibility (Видимость), то есть до определенного кадра (в моем случае до 720) текст будет невидимым. Когда надпись Easy Render наедет на камеру, она начнет постепенно появляться на фоне Земли, в то время как сама Земля будет плавно исчезать. Анимация нового текста выполняется так же, как и текста Easy Render, то есть с помощью подмены.
Рис. 6.41. Положение текста «ПРЕДСТАВЛЯЕТ»
1. Выделите текст.
2. Щелкнув на кнопке Auto Key (Автоключ), активизируйте запись ключей.
3. Перейдите в 720 кадр.
4. В свойствах объекта задайте параметру Visibility (Видимость) значение 0.
5. Выключите запись ключей.
6. Переместите первый ключ в 850 кадр, в котором текст должен стать полностью видимым.
Вот и все. Поздравляю. Вы сделали свою первую заставку. Сейчас можно визуализировать последовательность кадров и сделать видеоролик. Если вы подключите воображение и примените полученные знания, то сможете сделать свою собственную заставку для домашнего видео, а может быть, и что-нибудь более серьезное.ПРИМЕЧАНИЕ
Готовая анимация содержится на прилагаемом к книге DVD в папке Video\Глава 06, файл называется zastavka.avi. По адресу Examples\Глава 06\Zastavka содержится файл сцены Zastavka.max.
6.5. Практическое задание. Лейся, фонтан!
Прежде чем приступить к созданию анимации фонтана, попробуем разобраться в том, что представляет собой обыкновенный фонтан и какие силы действуют на струю воды, вытекающую из трубы.
Вода под давлением устремляется из трубы вверх, а затем, дойдя до верхней точки, в которой скорость становится равной нулю, под воздействием силы тяжести (гравитации) начинает падать вниз. Вырываясь из трубы, струя воды по мере удаления увеличивается в диаметре, а при наличии ветра еще и изменяет направление движения.
Используя стандартные средства программы 3ds Max 2008, имитируем все вышеописанное, в том числе и силы, действующие на фонтан. Для выполнения упражнения откройте файл fountain_start.max из папки Examples\Глава 06\Fountain прилагаемого к книге DVD. Данная сцена содержит два источника света, камеру и четыре объекта, необходимых для создания анимированного фонтана: поверхность земли (ground), фонтан (fountain), трубу, из которой будет вытекать вода (tube), и поверхность воды внутри фонтана (water) (рис. 6.42).
Рис. 6.42. Объекты сцены, подготовленные для анимации
ВНИМАНИЕ
Если вы собираетесь использовать собственную сцену для анимации системы частиц, то учтите, что все системы частиц используют в расчетах системные единицы измерения. На практике это означает то, что два фонтана (например, один высотой 20 мм, а второй – 20 м) будут просчитываться по-разному, соответственно, у них окажется различный результат при анимации.
Сначала создадим расходящиеся на поверхности воды круги, которые появятся после падения струи. Для этого сделайте следующее.
1. Выполните команду Create ? SpaceWarps ? Geometric/Deformable ? Ripple (Создание ? Пространственные деформации ? Деформируемая геометрия ? Рябь).
2. В окне проекции Top (Сверху) щелкните в середине фонтана и, не отпуская кнопку мыши, переместите указатель в сторону для создания значка объекта Ripple (Рябь). Построив произвольным образом внешний диаметр значка, переместите указатель немного вверх для создания небольшой амплитуды ряби и щелкните кнопкой мыши.
3. Свяжите объект water (поверхность воды в фонтане) с источником объемных деформаций. Для этого на главной панели инструментов нажмите кнопку Bind to Space Warp (Связать с воздействием)
затем в одном из окон проекций щелкните на поверхности воды и переместите указатель на значок источника деформации. В результате поверхность воды покроется рябью волн, расходящихся от центра (рис. 6.43).
Рис. 6.43. Волны на поверхности воды после создания объемной деформации
4. Для настройки отображения волн перейдите к свитку Parameters (Параметры) построенного объекта Ripple01.
ПРИМЕЧАНИЕ
Если после построения объекта Ripple01 у вас не развернут свиток Parameters (Параметры) его настроек, выделите объект Ripple01 (например, с помощью окна Select From Scene (Выбор из сцены)) и перейдите на вкладку Modify (Изменение) командной панели.
5. В области Ripple (Рябь) задайте параметрам Amplitude 1 (Амплитуда 1) и Amplitude 2 (Амплитуда 2) значения, равные 15 мм, а параметру Wave Length (Длина волны) – 200 мм. При желании можно установить затухание ряби по мере удаления от центра, задав небольшое значение параметра Decay (Ослабление), например 0,001. Полученный результат настроек параметров ряби представлен на рис. 6.44.
Рис. 6.44. Поверхность воды после настройки параметров объекта Ripple (Рябь)
Анимируем движение воды на поверхности фонтана. Для этого сделайте следующее.
1. Щелкните на кнопке Auto Key (Автоключ).
2. Передвиньте ползунок таймера анимации в 400 кадр. Если вы решили выполнить упражнение, используя собственную сцену, то увеличьте количество кадров анимации до 400–500.
3. В области Ripple (Рябь) свитка Parameters (Параметры) настроек объекта Ripple01 задайте параметру Phase (Фаза) значение -60.
4. Выключите запись ключей анимации, повторно щелкнув на кнопке Auto Key (Автоключ).
Проверьте правильность выполненных действий, запустив воспроизведение анимации. Для этого щелкните на кнопке Play Animation (Воспроизвести анимацию)
Если все было сделано правильно, то рябь будет расходиться по поверхности воды, постепенно затухая к краям.
Построим систему частиц для струи воды, вытекающей из трубы. Создайте источник системы частиц следующим образом.
1. Перейдите на вкладку Create (Создание) командной панели, щелкните на кнопке Geometry (Геометрия)
выберите из раскрывающегося списка строку Particle Systems (Системы частиц) и щелкните на кнопке PFSource (Источник потока частиц).
ПРИМЕЧАНИЕ
В качестве источника частиц можно также использовать PArray (Массив частиц), Super Spray (Супербрызги) или Blizzard (Метель). Все зависит от того, каким образом вы собираетесь выполнять анимацию и какого эффекта собираетесь достичь.
2. В окне проекции Top (Сверху) постройте значок произвольного размера.
3. Используя инструмент Select and Rotate (Выделить и повернуть), поверните значок в любом окне проекции так, чтобы стрелка, указывающая направление излучения частиц, была направлена вверх.
4. В свитке Emission (Излучение) настроек построенного объекта PFSource 01 из раскрывающегося списка Icon Type (Тип значка) выберите строку Circle (Окружность).
5. В этом же свитке параметру Diameter (Диаметр) задайте значение, равное диаметру трубы, из которой будет вытекать струя воды. В моем случае этот диаметр равен 50 мм (рис. 6.45).
Рис. 6.45. Настройки объекта PF Source 01 (Источник потока частиц)
6. Используя инструмент Select and Move (Выделить и переместить), разместите значок объекта PFSource 01 так, чтобы он оказался в середине фонтана, в верхней части трубы, из которой будет вытекать вода.
Прежде чем переходить к детальной настройке поведения частиц, построим еще несколько объектов.
Во-первых, нам понадобится объект, имитирующий гравитацию. Выполните команду Create ? SpaceWarps ? Forces ? Gravity (Создание ? Пространственные деформации ? Силы ? Сила тяжести) и в окне проекции Top (Сверху) постройте значок объекта Gravity (Сила тяжести).
Во-вторых, необходимо создать объект, который будет отражать падающие на воду фонтана брызги. Для этих целей воспользуемся объектом UDeflector (U-отражатель).ПРИМЕЧАНИЕ
Как и для излучателя частиц, для отражателя можно использовать и другие типы, например POmniFlect (Всенаправленный отражатель) или простой Deflector (Отражатель).
Для создания отражателя выполните команду Create ? SpaceWarps ? Deflectors ? UDeflector (Создание ? Пространственные деформации ? Отражатели ? U-отражатель) и также в окне проекции Top (Сверху) постройте значок отражателя.
В-третьих, нужно создать ветер. Для этого выполните команду Create ? SpaceWarps ? Forces ? Wind (Создание ? Пространственные деформации ? Силы ? Ветер), построив значок в окне проекции Left (Слева) таким образом, чтобы он находился на некоторой высоте по отношению к поверхности воды в фонтане (рис. 6.46).
Вернемся к настройкам системы частиц. В любом окне проекции выделите объект PFSource 01. Перейдите на вкладку Modify (Изменение) командной панели, в свитке Setup (Настройки) щелкните на кнопке Particle View (Окно системы частиц), в результате чего откроется одноименное окно. Выделите оператор с именем Birth 01 (Рождение 01). В правой части окна появится свиток с настройками источника частиц. Здесь необходимо задать параметру Emit Stop (Окончание излучения частиц) время окончания излучения частиц, которое определяется количеством кадров анимации (в нашем случае 400), и установить переключатель в положение Rate (Доля) (рис. 6.47).
Рис. 6.46. Расположение значков построенных объектов в окне проекции Perspective (Перспектива)
Рис. 6.47. Окно Particle View (Окно системы частиц)
Если сейчас передвинуть ползунок таймера анимации вправо, то начиная с нулевого кадра будет происходить излучение частиц вверх. Пока еще это небольшой поток частиц, медленно поднимающийся вверх, на который не действуют никакие внешние силы. Продолжим настраивать систему частиц в окне Particle View (Окно системы частиц) и увеличим скорость движения частиц. Это можно выполнить путем настройки оператора Speed 01 (Скорость 01).
ПРИМЕЧАНИЕ
Если вы случайно закрыли окно Particle View (Окно системы частиц), то его можно снова открыть, выполнив команду главного меню Graph Editors ? Particle View (Графические редакторы ? Окно системы частиц).
Выделите строку с именем этого оператора в основном окне и справа в свитке его настроек установите значение параметра Speed (Скорость) с таким расчетом, чтобы к 50 кадру анимации поток частиц достиг предполагаемой верхней точки фонтана. В моем случае это значение оказалось равным 1800. В этом же свитке задайте параметру Variation (Разброс) значение 200, а Divergence (Отклонение) – 5. Это позволит частицам по мере подъема вверх отклоняться от вертикальной траектории полета и менять скорость движения (рис. 6.48).
Рис. 6.48. Траектория полета частиц в 50 кадре анимации
Теперь следует применить к системе частиц силу тяжести и ветер. В результате частицы, поднявшись на определенную высоту, будут падать вниз и немного отклоняться в сторону. Для этого сделайте следующее. 1. В окне Particle View (Окно системы частиц) щелкните правой кнопкой мыши в окне событий на строке Event 01 (Событие 01) и выполните команду Append ? Operator ? Force (Добавить ? Оператор ? Сила) появившегося контекстного меню (рис. 6.49). В результате в нижнюю часть списка операторов добавится новый оператор Force 01 (Сила 01).
Рис. 6.49. Контекстное меню событий
2. В списке событий выделите добавленный оператор. В появившемся в правой части окна Particle View (Окно системы частиц) свитке Force 01 (Сила 01) щелкните на кнопке By List (Из списка). 3. В открывшемся окне Select Force Space Warps (Выбрать силу пространственной деформации) выберите объект Gravity01 и щелкните на кнопке OK.
ПРИМЕЧАНИЕ
Если в окне Select Force Space Warps (Выбрать силу пространственной деформации) не отображается название объекта Gravity01, то щелкните в строке Display (Показывать) на кнопке Display Space Warps (Показывать пространственные деформации).
Если сейчас передвинуть ползунок анимации вправо, то можно заметить, что частицы, имитирующие фонтан, не просто движутся вверх. Поднявшись на некоторую высоту, они начинают падать вниз. Осталось только определить, на какой высоте вода должна падать вниз.
1. Для настройки параметров гравитации выделите в любом из окон проекций объект Gravity01 (либо выберите его из списка объектов сцены). Перейдите на вкладку Modify (Изменение) командной панели и в свитке Parameters (Параметры) установите такое значение параметра Strength (Сопротивление), чтобы в последнем кадре анимации поток частиц не превышал верхней точки фонтана. У меня это значение равно 0,45.
2. В окне Particle View (Окно системы частиц) снова щелкните на кнопке By List (Из списка) и добавьте в список Force Space Warps (Сила пространственной деформации) силу ветра (объект Wind01).
3. Выделите в любом окне проекции значок ветра и задайте в свитке Parameters (Параметры) такое значение параметра Strength (Сопротивление), чтобы фонтан немного отклонялся в сторону. В моем случае это значение равно 0,02.
Запустите воспроизведение анимации, используя кнопку Play Animation (Воспроизвести анимацию), и убедитесь в том, что движение частиц соответствует нашему замыслу. На рис. 6.50 показано поведение частиц в 200 кадре анимации.
Некоторые частицы, на которые действует сила ветра, отклоняются в сторону и пролетают через поверхность воды, не задерживаясь на ней. Устраним этот недостаток, установив для частиц на поверхности воды отражатель. Мы уже создали для этого объект UDeflector01, теперь свяжем его с источником частиц.
1. В нижней части окна Particle View (Окно системы частиц) щелкните на объекте Collision (Столкновения) и переместите его в нижнюю часть списка событий (рис. 6.51).
2. Выделите в списке событий строку Collision 01 (Столкновение 01) и перейдите к одноименному свитку в правой части окна Particle View (Окно системы частиц). Щелкните на кнопке By List (Из списка).
3. В открывшемся окне Select Deflectors (Выбрать отражатели) выберите из списка объект UDeflector01, то есть построенный ранее отражатель.
Рис. 6.50. Положение частиц в пространстве в 200 кадре анимации
Рис. 6.51. Список событий после добавления объекта Collision (Столкновения)
Выбранный отражатель является объектно-базированным, то есть для его корректной работы необходимо указать объект сцены, поверхность которого будет являться преградой на пути движения частиц. На первый взгляд кажется, что для этой цели лучше всего подойдет объект, имитирующий поверхность воды, но при этом возникает небольшая проблема. Она заключается в том, что для имитации ряби на поверхности воды этот объект должен иметь плотную сетку полигонов. Для расчета отражений лучше всего подойдет объект с минимальным количеством полигонов, в противном случае время расчетов может увеличиться в несколько раз. Простым решением данной проблемы будет создание объекта Plane (Плоскость), который по размерам и расположению будет соответствовать объекту water, но в отличие от последнего будет иметь две грани (рис. 6.52).
Рис. 6.52. Параметры плоскости, построенной для отражения частиц
Вернемся к настройкам отражателя.
1. Выберите из списка объектов сцены UDeflector01 и перейдите на вкладку Modify (Изменение) командной панели.
2. В свитке Basic Parameters (Базовые параметры) щелкните на кнопке Pick Object (Указать объект) и выберите в одном из окон проекций (или из списка объектов сцены) объект Plane01.
3. В области Particle Bounce (Отскоки частиц) задайте параметру Bounce (Отскоки) значение 0,2, что позволит создавать на поверхности воды небольшие брызги.
4. Выделите объект Plane01 и спрячьте его, используя команду Hide Selection (Спрятать выделенное) контекстного меню. Этот объект играет вспомогательную роль, отражая падающие капли, и не должен участвовать в визуализации.
Передвиньте ползунок анимации. Сейчас частицы, падая на поверхность воды, должны отскакивать и перемещаться по направлению движения ветра, а достигнув края фонтана, падать вниз. В реальной жизни падающие капли не перемещаются по поверхности воды, а могут лишь образовывать брызги. Чтобы избавиться от данного эффекта, необходимо ограничить «время жизни» частиц. Это можно выполнить, добавив к списку событий оператор Delete (Удалить), перетащив его из списка объектов окна Particle View (Окно системы частиц). В свитке Delete 01 (Удалить 01) установите переключатель в положение By Particle Age (Согласно возрасту частиц), а параметру Life Span (Время жизни) задайте значение 180 (рис. 6.53).Рис. 6.53. Настройки оператора Delete 01 (Удалить 01)
На этом настройку поведения частиц можно считать законченной.
ПРИМЕЧАНИЕ
Для создания более правдоподобного движения воды объекту Birth 01 (Рождение 01) можно добавить контроллер Noise (Зашумление), который будет создавать пульсирующую струю. А использование объекта Spawn (Потомок) способно изменить поведение частиц таким образом, что их часть будет имитировать всплески на поверхности воды. Кроме того, применение различного типа геометрии для имитации капель и брызг позволит усилить реалистичность фонтана. Я рекомендую вам изучить настройки этих объектов самостоятельно и не буду описывать их в данной книге, так как они являются лишь средством для повышения реализма и не относятся к базовым настройкам поведения частиц.
Теперь настроим отображение частиц при визуализации. На данном этапе они представлены в окне проекции тиками (Ticks), а в процессе визуализации будут иметь вид тетраэдров (Tetra). В данном случае возможны два способа отображения частиц при визуализации:
? создание составного объекта BlobMesth (Капля), способного объединять геометрические формы (например, частицы, представленные сферами) в капли;
? использование для отображения прямоугольников, обращенных плоскостью к камере.
Воспользуемся вторым вариантом, как менее ресурсоемким. Для этого откройте окно Particle View (Окно системы частиц), выделите в нижней части окна оператор Shape Facing (Плоская форма) и перетащите его на оператор Shape 01 (Форма 01) списка событий, в результате чего последний будет заменен новым оператором. Выделите его и в свитке Shape Facing 01 (Плоская форма 01) щелкните на кнопке None (Отсутствует). После этого укажите в одном из окон проекций на камеру Camera01 или выберите ее из списка объектов сцены, щелкнув на кнопке Select by Name (Выделить по имени). Параметру Units (Единицы) задайте значение 50 мм (он будет определять размер прямоугольников), а параметру W/H Ratio (Отношение ширины к высоте) задайте значение 2,5 (в результате прямоугольники станут растянутыми по ходу движения частиц). Кроме того, необходимо определить ориентацию частиц в пространстве, выбрав в списке Orientation (Направление) строку Align to Speed Follow (Выровнять по ходу следования) (рис. 6.54).
Рис. 6.54. Настройки оператора Shape Facing (Плоская форма)
СОВЕТ
Чтобы увидеть, как будут располагаться в пространстве частицы, представленные плоскостями, можно задать для оператора Display 01 (Отображение 01) режим отображения геометрии. В результате в окнах проекций тики будут заменены плоскостями.
Последнее, что осталось выполнить перед визуализацией, – применить к геометрии материал. Для этого необходимо добавить к списку событий оператор Material Dynamic (Материал динамики), перетащив его из списка операторов в очередь событий на место перед оператором Collision (Столкновения). Выделите его, в свитке Material Dynamic 01 (Материал динамики 01) щелкните на кнопке None (Отсутствует). В открывшемся окне Material/Map Browser (Окно выбора материалов и карт) установите переключатель Browse From (Просмотреть из) в положение Mtl Editor (Редактор материалов) и выберите из списка материал Blobs (рис. 6.55).
Рис. 6.55. Окно Material/Map Browser (Окно выбора материалов и карт)
В результате список событий для источника частиц PF Source (Источник потока частиц) будет выглядеть так, как представлено на рис. 6.56.
Рис. 6.56. Окончательный вид списка событий и настройки оператора Material Dynamic (Материал динамики)
Осталось только выполнить визуализацию созданной сцены. На рис. 6.57 представлена визуализация сцены в 285 кадре анимации с использованием эффекта Motion Blur (Размытие движения).
Рис. 6.57. Визуализация фонтана
ПРИМЕЧАНИЕ
В папке Examples\Глава 06\Fountain прилагаемого к книге DVD находится итоговый файл fountain_end.max с объектами сцены. В папке Video\Глава 06 располагается файл fontain.avi с готовой анимацией созданного в данном разделе фонтана.
Глава 7 Динамика. Модули reactor, Hair and Fur и Cloth
? Общие сведения о динамике в 3ds Max
? Практическое задание. Стелем скатерть
? Практическое задание. Развешиваем шторы
? Практическое задание. Боулинг
? Практическое задание. Вывеска на ветру
? Практическое задание. Анимация движения автомобиля
? Практическое задание. Круги на воде
? Практическое задание. Парикмахерское искусство
? Практическое задание. Создаем ткань при помощи модификатора Cloth (Ткань)
7.1. Общие сведения о динамике в 3ds Max
Когда мы говорим о динамике, то в первую очередь представляем себе движущиеся объекты. Наверное, многие из вас помнят из школьной программы, что динамика является одним из разделов механики и изучает движение различных объектов под воздействием приложенных к ним сил.
Программа 3ds Max способна автоматически создавать анимацию, базируясь на физических расчетах положения и поворота объектов в пространстве, их взаимодействии, силе тяжести и трения. В 3ds Max динамика представлена тремя направлениями.
? Объемные деформации (Space Warps) – это один из способов использования различных сил для воздействия на объекты сцены. Объемные деформации не визуализируются, а лишь создают силовые поля, которые влияют на объекты, которые к ним привязаны. Одиночные деформации могут быть привязаны к большому количеству объектов, равно как и один объект может быть привязан к нескольким объемным деформациям. Воздействие объемных деформаций во многом напоминает работу модификаторов, с той лишь разницей, что объемные деформации оказывают влияние не в пространстве объекта, а в пределах глобального пространства. В большинстве случаев использование объемных деформаций пространства – это простой и быстрый способ получения анимационных эффектов, таких, как волны, рябь, взрыв, ветер и т. д.
? Объекты динамики (Dynamics Objects) – в их число входят два объекта деформации: Damper (Амортизатор) и Spring (Пружина). Они во многом похожи на другие полигональные объекты сцены, но, кроме того, могут имитировать действие сил давления или упругости на те объекты, которые к ним привязаны. Оба объекта имеют настраиваемые параметры для быстрого построения геометрии и привязки объектов, с которыми они будут взаимодействовать (например, для Spring (Пружина) это диаметр, количество витков, форма сечения и т. д.).
? Модуль reactor – это модуль, разработанный фирмой Havok. Он предназначен для расчета и моделирования физических взаимодействий. В отличие от традиционной анимации, при которой необходимо вручную создавать состояния объектов в ключевых кадрах, модуль reactor определяет движения объектов, базируясь на их свойствах. Это позволяет разгрузить пользователя 3ds Max от монотонной работы по созданию множества ключевых кадров. Используя физические взаимодействия и свойства (например, масса, эластичность, трение и т. д.), объекты сцены могут взаимодействовать с внешними силами (гравитация, ветер и т. д.) и (или) ограничителями (такими, как сила пружины). Модуль reactor использует всю эту информацию и рассчитывает последовательность состояний объекта. Результат расчета может быть показан в виде анимации в реальном времени (если позволяют возможности аппаратного обеспечения) либо преобразован в ключевые кадры для воспроизведения в сцене.
В данной главе мы рассмотрим несколько простых примеров, которые дают общее представление о работе с модулем reactor.
Кроме того, эта глава содержит практические задания, в которых описывается работа с модулем Hair and Fur, предназначенным для создания волос и шерсти, а также с модулем Cloth, который позволяет создать имитацию ткани.
7.2. Практическое задание. Стелем скатерть
Разработчики компьютерной графики рано или поздно сталкиваются с моделированием интерьера. Можно потратить много времени на создание моделей мебели и предметов быта, но изображение не будет выглядеть реалистичным без добавления мелких деталей. Одной из таких деталей может быть скатерть на столе или легкие шторы, которые колышутся от ветра. Попробуем выполнить эти предметы при помощи модуля reactor.
Первое, что вам понадобится, – модели, с которыми предстоит работать. Для этого постройте простую модель стола и скатерть. В качестве стола используйте примитив Cylinder (Цилиндр) радиусом 600 мм и высотой 30 мм с количеством сторон от 20 до 40. Для скатерти подойдет примитив Plane (Плоскость) с размерами 1500 x 1500 и количеством сегментов по длине и ширине, равным 30.
ВНИМАНИЕ
Желательно, чтобы объекты, которые будут играть роль тканей, имели не больше 3000 полигонов, иначе возможны сбои в работе модуля.
Скатерть должна иметь больший размер, чем стол (чтобы покрыть его), и достаточно большую плотность сетки (чтобы складки, образованные свободно свисающими краями, выглядели естественными). Расположите эти два объекта так, чтобы скатерть находилась немного выше стола и отображалась в окне проекции Top (Сверху) ровно посередине его. На рис. 7.1 показаны объекты в окне проекции Perspective (Перспектива).
Теперь нужно указать программе, в роли каких тел взаимодействия будут выступать объекты. Для этого выполните следующие действия.
1. На вкладке Create (Создание) командной панели щелкните на кнопке Helpers (Вспомогательные объекты)
и выберите в раскрывающемся списке разновидностей объектов строку reactor.
2. Нажмите кнопку RBCollection (Коллекция твердых тел) и затем в любом окне проекции щелкните для создания коллекции твердых тел (положение и размер значка значения не имеют).
3. Добавьте в сцену коллекцию тканей, к которой будет относиться скатерть, для чего нажмите кнопку CLCollection (Коллекция тканей) и также щелкните в производном месте любого окна проекции.
В результате в окнах проекций появятся два значка, представляющие коллекции твердых тел и тканей (рис. 7.2).
Рис. 7.1. Модели стола и скатерти, подготовленные для просчета динамики
Рис. 7.2. Сцена со значками коллекций твердых тел и тканей