Скачиваний:
73
Добавлен:
17.11.2019
Размер:
27.76 Mб
Скачать

Рис. 8.31. Положение управляющих кривых на левой стороне книги

Подводя итоги выполненной анимации листа книги, можно заметить, что второй способ более простой и легкоуправляемый. В общем случае для такой анимации достаточно трех управляющих кривых и создания ключей анимации в первом и последнем кадрах анимации, а небольшое изменение кривой трансформации поворота в Curve Editor (Редактор кривых) позволяет получить реалистичное движение листа при минимальных трудозатратах.

ПРИМЕЧАНИЕ

Файл урока с настройками анимации book_var02.max находится на прилагаемом DVD в папке Examples\Глава 08\Book.

Анимация рукописного шрифта

В предыдущем разделе мы рассмотрели два варианта анимации страниц книги. А что если пойти дальше и смоделировать процесс письма шариковой ручкой?

А может быть, вспомнить время, когда наши родители, дедушки и бабушки писали перьевыми ручками, аккуратно выводя ровным почерком слово за словом? С точки зрения моделирования и анимации такой текст более сложный, но вместе с тем и более интересный.

Рассматривая варианты такой анимации, я пришел к выводу, что сделать ее можно как минимум пятью способами:

анимируя параметр Length (Длина) примитива Cylinder (Цилиндр) с одновременным использованием модификатора Path Deform (Деформация по траектории);

анимируя параметры объекта Loft (Лофтинговые);

применив альфа-канал материала в качестве средства анимации;

воспользовавшись анимированной текстурой;

применив модификатор Sweep (Шаблон) совместно с анимированной текстурой прозрачности.

Каждый способ имеет свои достоинства и недостатки, но вместе с тем каждый из них может решать конкретные задачи. Мы не станем рассматривать все варианты, а остановимся лишь на том, который предоставляет наибольшую гибкость в работе, но требует больше времени и сил для создания такой анимации. Кроме того, интересным дизайнерским решением может явиться анимация не только самого шрифта, но и ручки, пишущей этот текст.

В данном разделе мы не станем рассматривать процесс моделирования объектов, поэтому для работы вам необходимо загрузить сцену animated_text_start.max, которая находится в папке Examples\Глава 08\Text прилагаемого к книге DVD (рис. 8.32).

Рис. 8.32. Вид сцены animated_text_start.max в окне проекции Perspective (Перспектива)

Все, что нам необходимо для начала выполнения упражнения, – это три объекта: лист бумаги (создан при помощи примитива Plane (Плоскость)), любой каллиграфический шрифт (сплайн Text (Текст) с использованием шрифта, установленного на вашем компьютере) и модель перьевой ручки. Вы можете применить любой текст или шрифт. Я создал также дополнительные объекты – чернильницу и плоскость стола.

Способ анимации появляющегося шрифта, который я собираюсь описать, основан на использовании модификатора Loft (Лофтинговые), поэтому необходимо построить сплайн пути. Но, прежде чем начать какое бы то ни было моделирование, следует подготовить сцену. На самом деле нам нужно убрать из сцены неиспользуемые объекты и заблокировать текст от случайного смещения. Чтобы выполнить первое, щелкните на тексте правой кнопкой мыши и выберите в контекстном меню строку Hide Unselected (Спрятать невыделенное). Для блокирования текста можно воспользоваться командой Freeze Selection (Заморозить выделенное) контекстного меню текста.

После этих подготовительных действий выполните команду главного меню Create ► Shapes ► Line (Создание ► Формы ► Линия), в результате чего на вкладке Create (Создание) командной панели появятся свитки параметров строящейся линии. Установите в свитке Creation Method (Метод создания) переключатели Initial Type (Начальный тип) и Drag Type (Вершина при перетаскивании) в положение Smooth (Сглаживание) для построения сглаженных вершин в процессе создания сплайна. Перейдите в окно проекции Top (Cверху). Постройте сплайн пути таким образом, чтобы он начинался в левой части текста и проходил по середине шрифта (рис.

8.33).

Рис. 8.33. Сплайн, построенный для первых трех символов текста

Построение удобнее всего вести, развернув окно проекции во весь экран монитора. Для этого необходимо нажать сочетание клавиш Alt+W. Можно также использовать режим эксперта – сочетание клавиш Ctrl+X.

При создании сплайна часть шаблона, по которому происходит построение, может оказаться за пределами окна проекции. В этом случае, дойдя до края окна проекции, нажмите клавишу I, и указатель вместе с изображением переместится в середину окна проекции. Если во время построения сплайна вам понадобится удалить последнюю вершину или несколько вершин, то сделать это можно, не выходя из режима построения, нажав клавишу Backspace.

Сначала построения ведутся достаточно приблизительно, чтобы создать общую форму сплайна с расчетом на последующее редактирование. Обратите внимание на то, что последовательность создания сплайна должна быть такой же, как и при написании текста пером, то есть как мы построим сплайн, так он будет затем появляться при анимации.

ВНИМАНИЕ

Сплайн в данном случае необходимо создавать непрерывным от начала до конца, по всей длине текста. Это ограничение вызвано тем, что модификатор Loft (Лофтинговые) для создания

объекта может использовать только один непрерывный сплайн пути. Модификатор Sweep (Шаблон) может работать с объектами, имеющими разрывы. Однако он больше подойдет для имитации написания шариковой ручкой, так как не имеет настроек для изменения размеров сечения по пути следования.

После того как будет построена базовая форма, переходите к ее редактированию. Для этого выделите сплайн, перейдите на вкладку Modify (Изменение) командной панели и в свитке Selection (Выделение) щелкните на кнопке Vertex (Вершина), чтобы перейти в режим редактирования вершин. Теперь можно более точно расположить вершины внутри текста, при необходимости удаляя лишние (клавиша Delete) или добавляя новые (кнопка Refine (Уточнить) из свитка

Geometry (Геометрия)).

СОВЕТ

При редактировании может понадобиться более точная настройка кривых в местах перехода. В этом случае лучшим решением будет не добавление новых вершин, а изменение типа излома вершины: вместо Smooth (Сглаженная) – Bezier (Безье) или Corner (Угловая). Для

этого нужно щелкнуть на вершине правой кнопкой мыши и выбрать в появившемся меню соответствующий тип. Если при редактировании манипуляторов вершин типа Bezier (Безье) нажать и удерживать Shift, то тип вершины автоматически изменится на Bezier Corner (Безье угловая).

В результате у вас должен получиться непрерывный сплайн (рис. 8.34).

Теперь необходимо создать сплайн сечения. Для этого воспользуемся формой Ellipse (Эллипс), построить которую можно, выполнив команду Create ► Shapes ► Ellipse (Создание ► Формы ► Эллипс). Строить необходимо в окне проекции Front (Спереди). Это имеет существенное значение для построения лофт-объектов, так как форма сечения должна располагаться перпендикулярно форме пути. Задайте эллипсу следующие значения параметров: Length (Длина)

– 0,2 и Width (Ширина) – 3,5.

Рис. 8.34. Сплайн пути, созданный на основе стандартного шрифта

ПРИМЕЧАНИЕ

Формой пути может служить не только эллипс, но и прямоугольник, а также линия. Единственное отличие эллипса от этих объектов состоит в том, что позже, при редактировании

лофт-объекта, у вас будет возможность применить не только трансформацию масштаба, но и деформацию кручения в местах изменения формы сплайна. В результате на форме не будет видимых изломов.

Чтобы построить надпись по созданным сплайнам пути и сечения, сделайте следующее.

1.Выделите сплайн пути. Перейдите на вкладку Create (Создание) командной панели, щелкните на кнопке Geometry (Геометрия) и в раскрывающемся списке выберите строку

Compound Objects (Составные объекты).

2.В свитке Object Type (Тип объекта) щелкните на кнопке Loft (Лофтинговые). В результате

вобласти свитков на командной панели появятся свитки параметров для создания лофт-объектов.

3.В свитке Creation Method (Метод создания) нажмите кнопку Get Shape (Взять форму) и в окне проекции Front (Спереди) щелкните на эллипсе для построения формы надписи.

4.В области Mapping (Проекционные координаты) свитка Surface Parameters (Свойства поверхности) установите флажок Apply Mapping (Применить проекционные координаты), а в области Output (Вывод) – переключатель в положение Mesh (Сетка) (рис. 8.35).

5.В свитке Skin Parameters (Параметры поверхности) задайте основные параметры отображения поверхности созданного объекта (рис. 8.36).

Рис. 8.35. Свиток Surface Parameters (Свойства поверхности) построенного лофт-объекта

Рис. 8.36. Свиток Skin Parameters (Параметры поверхности) настроек лофт-объекта

Проанализируйте полученную поверхность надписи, особенно в том окне проекции, в котором будет создана анимация.

В общем случае полученный результат является удовлетворительным для анимации среднего плана, но если вы хотите улучшить форму лофт-объекта, то воспользуйтесь трансформацией масштаба (Scale (Масштабирование)) или трансформацией скручивания (Twist (Скручивание)) из свитка Deformations (Деформации) настроек лофт-объекта на вкладке Modify (Изменение) командной панели. То, что получилось у меня после небольшого редактирования формы текста, представлено на рис. 8.37.

Рис. 8.37. Текст, полученный при использовании составных объектов

Создадим материал для шрифта. Как я уже говорил ранее, это будет материал с анимированной прозрачностью, которая позволит создать эффект написания (последовательного появления букв). Для этого сделайте следующее.

1.Откройте окно Material Editor (Редактор материалов), выполнив команду Rendering ► Material Editor (Визуализация ► Редактор материалов).

2.Выберите свободную ячейку с образцом материала. В свитке Blinn Basic Parameters (Базовые параметры раскраски по Блинну) для параметра Diffuse (Цвет рассеивания) выберите фиолетовый цвет. Он будет определять цвет чернил. В области Self-Illumination (Самосвечение) задайте параметру Color (Цвет) значение 100, чтобы при визуализации цвет текста на всей его поверхности оставался постоянным (рис. 8.38).

3.Щелкните на кнопке None (Отсутствует) рядом с Opacity (Непрозрачность) в свитке Maps (Карты текстур).

4.В открывшемся окне Material/Map Browser (Окно выбора материалов и карт) выберите из списка Gradient Ramp (Усовершенствованный градиент).

5.Настройте параметры карты Gradient Ramp (Усовершенствованный градиент), как показано на рис. 8.39.

Рис. 8.38. Свиток Blinn Basic Parameters (Базовые параметры раскраски по Блинну) с настройками материала чернил

Рис. 8.39. Настройки карты Gradient Ramp (Усовершенствованный градиент)

Рассмотрим некоторые выполненные настройки. Использование для создания градиентного перехода двух цветов (белого и черного) обусловлено тем, что белый цвет в канале Opacity (Непрозрачность) соответствует непрозрачности объекта, а черный – полной прозрачности. Причем положение флага для черного цвета в настоящее время не имеет принципиального значения. Тип градиента – Linear (Прямой), интерполяция – Solid (Постоянная), таким образом, прозрачность будет изменяться линейно по мере прохождения по объекту от начала до конца. Параметр Blur (Размытие) должен иметь минимальное значение, для того чтобы граница непрозрачности была как можно более четкой.

После того как будут выполнены все настройки, можно анимировать параметр изменения положения маркера цвета. Для этого достаточно включить запись ключей анимации (нажать кнопку Auto Key (Автоключ)) и передвинуть ползунок таймера анимации в крайнее правое положение. После этого в окне Material/Map Browser (Окно выбора материалов и карт) передвиньте средний флаг (черного цвета) в конец шкалы градиента, что вызовет создание для этого параметра ключа анимации. В результате в строке треков появятся два ключа анимации: в начальном и последнем кадрах. Если сейчас передвинуть ползунок таймера анимации вперед или назад, то и шкала градиента в свитке Gradient Ramp Parameters (Параметры усовершенствованного градиента) должна меняться соответственно. Выключите запись кадров (еще раз щелкните на кнопке Auto Key (Автоключ)).

ВНИМАНИЕ

Если при изменении положения ползунка таймера анимации не происходит смещение среднего маркера градиента, то необходимо повторить создание ключей анимации сначала.

Теперь нужно подкорректировать ключи анимации. Для этого откройте окно редактирования кривых, выполнив команду Graph Editors ► Track View – Curve Editor (Графические редакторы ► Просмотр треков – редактирование кривых). В левой части окна найдите анимированную текстуру (ей в данном случае соответствует строка Gradient Ramp (Усовершенствованный градиент)) и параметр Position (Граница) для третьего флага градиента (рис. 8.40).

Рис. 8.40. Окно Track View – Curve Editor (Просмотр треков – редактирование кривых)

В правой части окна выделите первый ключ анимации, введите в выделенное поле значение 0 и щелкните на кнопке Set Tangents to Linear (Установить линейное управление для касательных)

Затем выделите второй ключ анимации, задайте для него значение, равное 100, и также установите линейное управление для касательных. Таким образом, положение флага черного цвета будет равномерно изменяться в диапазоне от 0 до 100.

После настроек анимации необходимо присвоить материал тексту, для чего достаточно перетащить мышью материал из окна редактора на объект в окне проекции.

Если сейчас выполнить тестовую визуализацию в 50 кадре анимации, то в результате половина текста окажется невидимой (рис. 8.41).

Рис. 8.41. Результат визуализации текста в 50 кадре анимации

Казалось бы, с анимацией текста можно заканчивать, но осталась еще одна досадная деталь

– отображение геометрии между словами. Оказывается, эту неприятность можно легко устранить: достаточно к лофт-объекту применить модификатор редактирования геометрии Edit Mesh (Редактирование поверхности) и, выделив на уровне редактирования полигонов все ненужные участки поверхности, удалить их (рис. 8.42). При этом текстурные координаты объекта сохранятся и, следовательно, анимация нисколько не пострадает.

Рис. 8.42. Текст после редактирования поверхности

После анимации появляющегося текста можно переходить к анимации ручки.

Прежде всего необходимо отобразить спрятанные ранее ручку и сплайн текста. Для этого перейдите на вкладку Display (Отображение) командной панели и в свитке Hide (Спрятать) щелкните на кнопке Unhide by Name (Отобразить по имени). В открывшемся окне выберите нужные объекты и нажмите кнопку Unhide (Отобразить).

В качестве пути, по которому будет двигаться перо, можно было бы использовать созданный ранее сплайн для лофт-объекта (шрифта). Но поскольку я собираюсь немного подкорректировать вершины сплайна в промежутках между словами и для большей реалистичности изменить сплайн так, чтобы получить движение пера по направлению к чернильнице и обратно к тексту, то необходимо создать копию этого сплайна.

ВНИМАНИЕ

Копирование сплайна на данном этапе является важным потому, что ранее созданный сплайн для лофт-объекта (текста) – это образец (Instance) и любые изменения его формы

отобразятся на внешнем виде текста, созданного при помощи лофтинга.

Прежде всего необходимо выделить вершины сплайна, находящиеся на концах сегментов между словами, и, щелкнув на выделении правой кнопкой мыши, выбрать из контекстного меню тип Bezier Corner (Безье угловая) (рис. 8.43). Это необходимо для того, чтобы, редактируя промежуточные сегменты, не нарушить форму сплайна, описывающего буквы.

Рис. 8.43. Выделенные вершины сплайна, расположенные на границах между словами, после присвоения им типа Bezier Corner (Безье угловая)

В окне проекции Front (Спереди) переместите манипуляторы выделенных вершин (только с внутренней стороны сегментов, расположенных между словами) вверх так, чтобы впоследствии перо, проходя по сплайну, в этих местах отрывалось от бумаги (рис. 8.44).

Можно улучшить анимацию, дополнительно отредактировав сплайн на отрезке между буквами o и m, чтобы перо ручки окунулось в чернильницу, а затем продолжило писать. Но в этом случае длина сплайна существенно изменится, что повлияет на скорость движения ручки вдоль текста.