Трехмерная графика Maya для продвинутых

         

Пожалуйста, переверните страницу

Как перевернуть страницу трехмерной книги?

Тема:

Анимация.

Используемые техники и инструменты:

ЕР Curve Tool (Построение кривой по редактируемым точкам), Loft (Построение поверхности по сечениям).

Первый урок, кстати, самый простой в этой книге. Может быть, задача переворачивания страницы трехмерной книги покажется вам банальной и даже скучной. Я думал точно так же, пока не предложил это задание десяти студентам университета в классе 3D анимации. Я дал им 30 минут на то, чтобы смоделировать лист бумаги и перевернуть его справа налево.



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

Лучшим результатом была выпуклая страница, которая проникала в корешок книги, поскольку ее кривизна не менялась во время переворачивания. Некоторые студенты пытались решить проблему с помощью Soft Body Dynamics (Динамики Мягкого Тела), один студент даже использовал Maya Cloth (Maya Ткани); они просто не смогли справиться с задачей, используя базовые приемы моделирования.

Поэтому, если вы все еще считаете этот урок простым, возьмите и сконструируйте страницу на вашем компьютере. И не переворачивайте страницу этой книги, пока не перевернете трехмерную страницу в Мауа.

Для выполнения этой задачи вам не нужно иметь дело со скучным и утомительным выделением и перемещением CV (контрольных вершин) кривых. Не потребуется также Soft Body Dynamics (Динамика Мягкого Тела). Существует несколько возможных решений этой задачи, как и любой другой, но только некоторые из них изящно просты. Для нахождения этого решения сделайте шаг назад. Не думайте о моделировании страницы, сконцентрируйтесь на ядре проблемы, которым является анимация, а не моделирование.

Эта анимация заключается в повороте страницы вокруг центральной оси книги, которая соединяет страницы между собой. Если вы начнете с использования, скажем, обычной NURBS-плоскости (сокр. от non-uniform, rational B-spline - неоднородный рациональный би-сплайн (геометрический примитив, широко используемый для описания кривых поверхностей) и попробуете повернуть ее вокруг оси, вам придется иметь дело с контрольными вершинами, для получения нужного изгиба страницы. Я не возражаю против такого способа. Однако знайте, что контрольные точки могут быть использованы только на завершающем этапе моделирования, и, как правило, для получения мелких изменений, но не в основных процедурах. Поэтому выполнение задачи необходимо начинать не с плоскости, а с кривых. Раз уж мы имеем дело с поворотом вокруг оси, давайте создадим 3 кривые, параллельные ей.

В виде сверху создайте 3 параллельные кривые с помощью инструмента ЕР Curve Tool (EP Кривая) (рис. 1.1). Третья кривая должна лежать на оси Z. Линия, по которой соединяются страницы книги, является также нашей осью вращения. Примените инструмент Loft (Построение поверхности по сечениям) ко всем трем кривым (рис. 1.2). Сделайте невидимой третью кривую (корешок книги). Задайте длительность анимации 200 кадров.

Заметьте, что опорные точки (pivot) всех кривых должны находиться в центре сцены, который также является центром нашей книги. Вы можете проверить это следующим образом: выделите кривые, затем перейдите в режим вращения или перемещения. Если опорная точка вращения находится не в центре, то, нажав клавишу Insert, переместите ее туда.

Рис. 1.1. С помощью инструмента ЕР Curve Tool NURBS-кривые можно создать всего лишь двумя щелчками мыши

Рис. 1.2. Три кривые для одной страницы книги

    Протестировать полученную страницу можно путем одновременного вращения первых двух кривых (но не лофтированной поверхности!) вокруг оси Z. Вернитесь в начало временной шкалы и задайте ключевой кадр для вращения вокруг оси Z для первых двух кривых. Для этого нажмите правой кнопкой мыши на Rotate Z (Вращение по оси Z) в окне Channel Box (Окно Каналов) и выберите Key Selected (Установить ключевой кадр для выделенных атрибутов) (рис. 1.3).

Рис. 1.3. Два ключевых кадра для кривых заставляют страницу переворачиваться

    Перейдите в конец анимации, поверните обе кривые вокруг оси Z на -180° и установите еще один ключевой кадр.

При воспроизведении анимации движение страницы может показаться немного замедленным, однако результат получен: страница переворачивается (рис. 1.4).

Рис. 1.4. В перспективном окне мы видим, как переворачивается страница, хотя поворачиваются только кривые

Теперь мы придадим поверхности специфичный изгиб страницы книги. Но здесь есть один нюанс. Обычно мы пользуемся терминами перемещения («Я поднимаю бокал к своему рту» вместо «Я вращаю бокал вокруг оси своего локтя»), поэтому существует соблазн переместить вверх среднюю кривую, вместо того чтобы повернуть ее (рис. 1.5).

Рис. 1.5. При выполнении поворота перемещение кривых недопустимо

1. Перейдите в начало анимации.

2. Выделите среднюю кривую и поворачивайте ее вокруг оси Z, пока не получите нужного изгиба поверхности.

3. Установите ключевой кадр для Rotate Z (Вращение по оси Z).

4. Идите в конец анимации.

5. Поверните кривую, чтобы получить красивый изгиб в обратном направлении.

6. Установите ключ для Rotate Z (Вращение по оси Z).

Лучше всего поворот и изгиб страницы можно увидеть в окне Вид Перспективы (рис. 1.6).

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

Контрольные вершины кривых поворачивать нельзя, их можно только перемещать. Можно, однако, объединить контрольные вершины в Кластеры (команду Create Cluster (Создать Кластер) вы найдете в секции анимации (клавиша F2) в меню Deform (Деформировать). Кластеры контрольных вершин имеют опорные точки, которые можно перемещать куда угодно.

Рис. 1.6. Чтобы согнуть бумагу, необходимо повернуть среднюю кривую

Теперь у вас есть страница, но где же сама книга? Начнем с копирования кривых в их начальной и конечной позициях. Создайте пару лофтированных плоских поверхностей - и книга закончена в считанные минуты (рис. 1.7). Если страница будет видна зрителю с обеих сторон, стоит дополнительно приложить усилия для ее текстурирования. Конечно, вы можете стандартным способом наложить одинаковую текстуру сверху и снизу. Но существует также простой способ, которым можно по-разному текстурировать обе стороны NURBS-поверхности. Этот способ можно найти в документации в Интернете, введя для поиска «double-sided shading» (двусторонний шейдинг).

Рис. 1.7. Две кривые, каждая с двумя ключевыми кадрами... и страница красиво переворачивается

А теперь кое-что новенькое. Приходилось ли вам перетаскивать свет из окна Outliner (Схема сцены) в Окно Перспективы, используя среднюю кнопку мыши?