Моделирование на основе полигонов в Maya превосходно подходит для создания объектов органического происхождения, например человеческих фигур или растений. Конечно, получить эти объекты можно и с использованием NURBS-кривых, более того, данный метод является предпочтительным для создания персонажей благодаря возможности выбирать уровень детализации визуализируемой модели. Но из-за таких недостатков неоднородных рациональных сплайнов Безье, как излишнее усложнение модели, создаваемой на их основе, и сложности в ликвидации швов между отдельными фрагментами, приходится прибегать к другому методу. В этой главе мы продемонстрируем способ создания головы персонажа на основе сетки полигонов.
Данная методика моделирования похожа на ваяние скульптуры из глины. Работа начинается с простой формы, из которой постепенно выделяется более сложная. Можно добавлять дополнительные ребра, увеличивая степень детализации поверхности, или же оставлять широкие грани, которые проще состыковывать друг с другом. Кроме того, имеется возможность в любой момент преобразовать поверхность, полученную на основе NURBS-кривых, в сетку полигонов, что часто является оптимальным подходом к моделированию сложных объектов.
Полигоны легко редактируются и привлекательно выглядят. Плюс ко всему, перед визуализацией не требуется рассчитывать форму построенной на их основе модели. Информацию об основных приемах работы с ними вы получите в процессе создания обитателя дома, моделированием которого вы занимались в двух предыдущих главах. Помните, что процесс выполнения каждого из упражнений можно увидеть, загрузив с прилагаемого к книге компакт-диска соответствующий фильм. В этой главе мы рассмотрим следующие темы:
Ключевые термины
Выдавливание (Extrude). Процесс построения трехмерного объекта путем перемещения кривой или грани в пространстве.
Грань/ребро/вершина полигона (Polygon face/edge/vertex). Составные части поверхности полигона. Вершиной называется безразмерная точка в трехмерном пространстве или на плоскости, определяемая координатами X, Y и Z. Ребро — это линия края грани, соединяющая две вершины. Соединение трех ребер друг с другом в замкнутую форму образует грань, то есть область плоскости треугольной формы. Сетчатые оболочки могут насчитывать неограниченное число граней.
Маска выделения (Selection mask). Функция, активизируемая с помощью нажатия правой кнопки мыши над объектом и позволяющая выбирать типы подобъектов для выделения. Для полигонов - это ребра, вершины, грани и точки проекционных координат UV.
Лучше всего для моделирования человеческой фигуры подходит инструмент Subdivision Surfaces (Подразбиваемые поверхности), но он доступен только в более дорогой версии программы Maya Unlimited. Этот инструмент использует сетку с низким разрешением для внесения изменений в сетку с высоким разрешением. Сетка с низким разрешением является грубой аппроксимацией модели, вокруг которой она располагается. В версии Maya Complete есть способ эмуляции работы с этим инструментом. Именно этим методом мы воспользуемся для моделирования монстра. Прежде всего нужно будет ввести в командной строке несколько команд языка MEL или активизировать скрытый сценарий. В процессе выполнения упражнений мы дадим вам пошаговую инструкцию по созданию объекта.
ПРИМЕЧАНИЕ
Если у вас установлена версия программы Maya Unlimited, вы можете использовать инструмент Subdivision Surfaces (Подразбиваемые поверхности) вместо описываемого нами метода эмуляции. Для получения сетки полигонов с низкой плотностью, создаваемой в процессе выполнения упражнений, вам придется перейти в режим работы с полигонами.
Метод эмуляции работы с инструментом Subdivision Surfaces (Подразбиваемые поверхности) детально описан в книге Polygonal Modeling, поставляемой вместе с программным обеспечением Maya. Это можно сделать с помощью языка сценариев MEL. Сценарий создает копию исходного полигонального объекта и затем соединяет данные исходной формы с атрибутом InMesh (Входные данные сетки) копии. Этот атрибут описывает базовую структуру объекта, что позволяет изменять дубликат, в соответствии с изменениями формы оригинала. В упражнении, которое вам предстоит выполнить, происходит соединение атрибута OutMesh (Выходные данные сетки) первого куба с атрибутом InMesh (Входные данные сетки) второго. В результате вы будете работать с простой сеткой, автоматически передавая результаты редактирования на более сложный объект. На первый взгляд, это выглядит довольно сложно, но с нашей пошаговой инструкцией вы убедитесь, что это довольно элегантный метод редактирования полигональных сеток.
Перед тем как приступить к созданию персонажа, предпримем шаги, направленные на упрощение процесса работы. В большинстве своем персонажи симметричны. Но чтобы избежать необходимости вносить изменения в обе половины объекта, стараясь сохранять его симметрию, в Maya существует возможность сделать так, чтобы каждое внесение изменений в форму одной половины объекта автоматически отражалось на форме его второй половины. Этот метод позволяет сэкономить время и добиться совершенной симметрии. Впоследствии можно сделать фигуру слегка асимметричной, чтобы придать ей более натуральный вид. Обычно это делается после окончания редактирования симметричных деталей.
Упражнение. Подготовка к моделированию
Прежде всего вспомним о том, что в начале работы над текущей сценой, в главе 5, мы упростили интерфейс программы, оставив только командную строку и строку подсказки. Если вы пропустили указанные упражнения, нужно будет загрузить пользовательские контекстные меню и клавиатурные комбинации. Начнем работу с пустой сцены. Сделайте на время видимой строку состояния, выбрав в меню оперативного доступа команду Display > UI Elements > Status Line (Отображение > Элементы интерфейса > Строка состояния), и убедитесь, что у вас нажата кнопка Construction History (История создания). В активном состоянии эта кнопка помечена значком свитка. Если она не нажата, свиток перечеркнут красным крестом.
ПРИМЕЧАНИЕ
Существует несколько способов сглаживания полигональной формы. В этом упражнении сглаживание происходит за счет появления новых граней. Второй метод состоит в увеличении числа вершин. При этом не происходит изменения топологии объекта. Данный метод позволяет получить проекционные координаты, с которыми проще всего работать. Кроме того, сгладить форму можно с помощью инструмента Sculpt Polygon Tool (Создание рельефа на полигональной поверхности).
Рис. 7.1. Сглаженный куб, окруженный каркасом, предназначенный для эмуляции инструмента
Рис. 7.2. Установка необходимых параметров в разделе Poly Smooth Face History окна диалога Attribute Editor
ПРИМЕЧАНИЕ
Помните, что быстрее и аккуратнее всего выделить объекты сцены можно в окне диалога Outliner (Структура).
ВНИМАНИЕ
Имейте в виду, что команды языка MEL чувствительны к регистру букв. Даже небольшая опечатка приводит к тому, что команда не выполняется. Если правая сторона командной строки становится красной и в ней появляется слово Error, значит, команда была введена неверно. В этом случае введенный текст не исчезает, что дает возможность исправить ошибку синтаксиса.
Подготовка к моделированию
В большинстве случаев получить представление о внешнем виде модели проще всего в режиме тонированной раскраски. Но это не значит, что в данном режиме процесс моделирования имеет наибольшую эффективность.
ПРИМЕЧАНИЕ
В общем случае принято использовать режим каркасного отображения в ортографических окнах проекции, а режим тонированной раскраски в окнах центральных проекций.
Преимущество метода, которым мы воспользуемся в данной главе, состоит в том, что вам предстоит работать с каркасом, окружающим модель с более высоким разрешением. Простой каркас будет использоваться для создания сложной фигуры путем аккуратного разбиения управляющей сетки на дополнительные грани и перемещения ее вершин.
При моделировании фигуры обычно проще всего работать только с одной ее стороной. По этой причине для куба, на основе которого создается модель, нужно создать зеркальную копию, которая будет автоматически отражать все изменения, вносимые в оригинал.
Упражнение. Создание симметричного объекта
Продолжите выполнение предыдущего упражнения. После перехода в режим тонированной раскраски теряется возможность видеть объект pCube2, так как он расположен внутри объекта pCubel, имеющего видимую поверхность.
Рис. 7.3. Сглаженные кубы в окне диалога Outliner
Рис. 7.4. Связанные атрибуты выделены курсивом
ПРИМЕЧАНИЕ
Проверьте, как работает созданная связь, изменяя топологию объекта Cagel. Выделите объект Cagel и нажмите клавишу F9 для перехода в режим редактирования подобъектов. Теперь перемещение любой из вершин приведет к изменению формы обеих половин сглаженного куба. Используйте клавишу z для возвращения объекта в исходное состояние.
Итак, все готово для начала моделирования монстра. Сохраните сцену под именем SubDemuSetup.
Рис. 7.5. Буква R говорит о том, что объекты данного слоя невозможно выделять и редактировать
Перед началом моделирования головы монстра нужно создать ее предварительный набросок на бумаге. Обычно желательно создать изображения в фас и профиль. В этом случае вам не придется импровизировать, что позволяет сэкономить массу времени.
ПРИМЕЧАНИЕ
Если отсканировать наброски рисунка, их можно использовать в качестве плоскостей изображения, то есть растровых изображений, связанных с ортогональными проекциями. Например, профиль монстра можно связать с окном проекции Side (Вид сбоку).
Перед загрузкой отсканированных изображений монстра (анфас и профиль) нужно убедиться, что они имеют необходимый размер. Проекции Front (Вид спереди) и Side (Вид сбоку) должны быть соразмерны. В этом случае появляется возможность переключаться между этими двумя проекциями и использовать их для моделирования персонажа. Если иметь это в виду при подготовке рисунков, процесс их сканирования упрощается. При наличии сомнений в соответствии размеров можно воспользоваться одним из редакторов графических изображений, например Photoshop. Для этой главы мы поделили изображение на несколько частей: лицо, руки, ноги и туловище. Вам остается только загрузить соответствующие рисунки и смоделировать нужную часть тела.
ВНИМАНИЕ
При сохранении изображения в формате BMP не следует использовать режим сжатия, так как его будет невозможно распознать в Maya.
Упражнение. Загрузка опорных изображений
Продолжите выполнение предыдущего упражнения.
Предварительная подготовка к моделированию монстра закончена.
СОВЕТ
В нижней части окна диалога Attribute Editor (Редактор атрибутов) находится кнопка Copy Tab (Копировать окно), которая отсутствовала в предыдущих версиях программы. Ее нажатие приводит к появлению плавающего окна с параметрами определенного элемента сцены. Соответственно, появилась возможность открыть окно диалога Attribute Editor (Редактор атрибутов) для другого элемента сцены и сравнить параметры.
Рис. 7.6. Редактирование параметров раздела Placement Extras
Работа в режиме эмуляции инструмента Subdivision Surfaces (Подразбиваемые поверхности) не относится к самым сложным приемам моделирования. Достаточно пары инструментов: Split Polygon (Разбиение полигонов) и Extrude Face (Выдавить грань). Процесс создания монстра напоминает лепку скульптур из глины. К фигуре постепенно добавляются отдельные части, и исходный геометрический объект принимает требуемую форму. Если вам сложно визуально представить этапы ее создания, сверяйтесь с рисунками данной главы.
Упражнение. Создание основных блоков
Продолжите выполнение предыдущего упражнения.
ПРИМЕЧАНИЕ
При моделировании персонажей модель получается более аккуратной, если увеличить значение параметра Divisions (Разбиения). Но при этом возникает пара проблем. Во-первых, у компьютера может оказаться недостаточно ресурсов для вычисления формы объектов, что сильно замедлит и затруднит работу со сценой. Во-вторых, плотная сетка, образовавшаяся из-за большого числа разбиений, мешает видеть каркас, редактированием которого вы занимаетесь. Однако в любой момент можно снова уменьшить число разбиений.
Иногда может быть полезным сделать слой, содержащий сглаженный объект, невидимым, потому что иначе интерактивное обновление объекта в процессе его редактирования происходит намного медленнее.
Инструмент Split Polygon
Теперь пришло время более творческой работы. Детальное моделирование лица монстра будет осуществляться с помощью инструмента Split Polygon (Разбиение полигонов), разбивающего каждую грань на заданное количество частей. Этот инструмент дает возможность использовать методику, изначально присущую NURBS-моделированию. Если попытаться создать голову на основе NURBS-кривых, в итоге придется разделить исходную заготовку на множество кривых, чтобы получить возможность моделировать мелкие детали. Но работа с сетками полигонов имеет преимущество, поскольку впоследствии не придется соединять друг с другом отдельные фрагменты поверхностей.
В предыдущих главах, посвященных моделированию на основе NURBS-кривых, большую роль играл режим привязки, благодаря которому оказывалось возможным поместить любую точку точно в предназначенное ей место. При работе с инструментом Split Polygon (Разбиение полигонов) вам также придется использовать привязку к ребрам полигонов. Кроме того, этот инструмент позволяет создавать ряд мишеней привязки (snapping magnets), связанных с числом разбиений ребра. Установив параметр Snapping Magnets (Мишени привязки) равным 2, вы легко разобьете ребро на три равные части, так как две мишени привязки будут размещены вдоль ребра на равных расстояниях от краев и друг от друга. Параметр Snapping Tolerance (Устойчивость привязки) устанавливает вес мишени привязки. Чем выше его значение, тем сильней эффект привязки.
Работу с инструментом Split Polygon (Разбиение полигонов) начнем с моделирования грубого контура головы, постепенно добавляя такие детали, как глаза и рот. Этот метод особенно любят аниматоры, предпочитающие работать в интерактивном режиме, почти как скульптор с глиной. Данный инструмент во многом идентичен инструменту ЕР Curve (Узловые точки кривой), используемому при работе с объектами, построенными на основе NURBS-кривых. Если вы случайно поместите точку не туда, куда нужно, ее можно переместить, нажав клавишу Insert, или удалить, нажав клавишу Backspace.
Упражнение. Формирование головы
Продолжите выполнение предыдущего упражнения.
ВНИМАНИЕ
Перейдите в окно проекции Front (Вид спереди), выберите в меню оперативного доступа команду View > Image Plane > Image Plane Attributes > FrontFace (Вид > Плоскость изображения > Атрибуты плоскости изображения > Front-Face) и укажите правильный маршрут в поле Image Name (Имя изображения). Туже самую операцию нужно повторить с окном проекции Side (Вид сбоку), выбрав вместо имени FrontFace имя FaceProfile.
ВНИМАНИЕ
Помните, что для получения возможности выделения объектов необходимо выйти из режима редактирования подобъектов, нажав клавишу F8.
ПРИМЕЧАНИЕ
Обратите внимание, что нажатие клавиши Enter, завершающее процесс создания новой грани, приводит к автоматическому выходу из режима редактирования подобъектов.
ПРИМЕЧАНИЕ
Как видите, иногда требуется увеличить значение параметра Snapping Magnets (Мишени привязки), чтобы поместить точку в нужное место. К примеру, если величина этого параметра равняется четырем, у вас есть четыре возможные точки привязки. К этому приему часто приходится прибегать для создания областей рта, бровей, подбородка и т. п. Для получения возможности размещения точек привязки в произвольном месте объекта снимите флажок Edge Snapping (Привязка к ребрам) в окне диалога Toot Settings (Параметры инструмента) инструмента Split Polygon (Разбиение полигонов).
ВНИМАНИЕ Сохраняйте основание шеи плоским, избегая перемещения формирующих — его вершин в направлении оси Y. В дальнейшем вам предстоит сформировать тело из шеи с помощью инструмента Extrude (Выдавливание), и если вершины не будут лежать в одной плоскости, то придется менять их положение.
Итак, вы придали голове модели базовую форму. Теперь пришло время заняться формированием более мелких деталей. Основным принципом вашей работы должно быть сохранение простоты модели. Ведь это упростит и ее дальнейшее редактирование.
Рис. 7.7. Создав дополнительные ребра вдоль центральной линии объекта, вы получите возможность сгладить границу слияния двух половин
Одной из наиболее важных задач при моделировании лиц людей является создание глаз. Именно этим вам предстоит заняться в процессе выполнения следующего упражнения. Помните, что именно глаза позволяют выразить эмоциональный настрой персонажа и сделать его живым.
Упражнение. Формирование глазных впадин
Продолжите выполнение предыдущего упражнения. В процессе создания базовой формы головы вы должны были добавить ребра к ее верхней части, как показано на рис. 7.8. Они являются идеальной отправной точкой для формирования линии бровей.
Существует два метода создания глазных впадин. Можно воспользоваться инструментом Bevel (Скос), сэкономив при этом время, или же применить описанный ниже метод, который хотя и является более трудоемким, зато всегда дает хороший результат, так как предоставляет более детальный контроль над происходящим. В этом упражнении вам предстоит расщепить полигон, формирующий линию бровей, для получения возможности создания отверстия.
Рис. 7.8. Выровненные ребра в месте создания глазных впадин
Вы смоделировали базовую форму глазных впадин, но, скорее всего, она не совпадает с тем, что вы ожидали увидеть. Продолжайте перемещать вершины и ребра, чтобы получить требуемый результат. Затем сохраните сцену под именем HeadEye.
Рис. 7.9. Центральная нижняя вершина внешнего кольца была вдавлена вовнутрь, чтобы получить небольшую впадину под глазом
Упражнение. Создание рта
Продолжите выполнение предыдущего упражнения. Для создания ротового отверстия применяется та же методика, что и в предыдущем упражнении. Нужно создать набор граней, которые затем можно удалить. С помощью опорных рисунков в окнах проекции Front (Вид спереди) и Side (Вид сбоку) рту придается нужная форма.
Рис. 7.10. Вид губ после перемещения всех групп ребер
СОВЕТ
Иногда бывает сложно выделить группу вершин с помощью рамки. В этом случае нажмите Ctrl+q, чтобы активизировать инструмент Lasso (Лассо), позволяющий создавать выделяющие области произвольной формы.
Упражнение. Создание носа
Продолжите выполнение предыдущего упражнения. Создание носа — не очень сложная задача. Нужно всего лишь несколько раз выполнить операцию выдавливания и затем переместить некоторые вершины.
Рис. 7.11. Верхняя грань была уменьшена в размере относительно оси Y и слегка вдавлена вовнутрь
Теперь осталось совсем немного, и голова монстра будет полностью готова. Можно найти много областей, в которых желательно еще немного переместить вершины, чтобы добиться более полного сходства модели с первоначальным рисунком. Мы добавили выступающий лоб, как у неандертальца, и слегка расщепили подбородок. Теперь осталось только создать глазные яблоки и совместить их размер с размером глазных впадин. Этим мы и займемся в последнем упражнении данной главы.
Упражнение. Размещение глазных яблок
Продолжите выполнение предыдущего упражнения. В качестве глазного яблока будет выступать обычная сфера. Перемещая ее вершины, вы наилучшим образом приведете ее размер в соответствие с размером глазной впадины.
Рис. 7.12. Размещение глазного яблока
Рис. 7.13. Результат удаления просветов между веками и глазным яблоком
Итак, вы создали голову монстра, добавив к ней необходимые детали. Применяя набор повторяющихся действий к аппроксимирующей сетке полигонов, вы сформировали черты лица персонажа. Как несложно догадаться, остальные части тела создаются аналогичным образом: комбинируя создание новых граней, выдавливание и перемещение управляющих вершин. Кроме того, можно произвольно менять уровень детализации объекта, увеличивая или уменьшая число полигонов, составляющих сетку. Для анимации персонажа число разбиений можно сделать равным 1 или даже 0, чтобы уменьшить время отклика программы на ваши действия. Затем можно сделать число разбиений равным 2 или более и получить идеально сглаженную поверхность модели.
После моделирования тела, рук и ног вам останется только соединить две половины вместе, чтобы получить готового монстра, показанного на рис. 7.14. Затем попробуйте самостоятельно создать модель какого-нибудь другого персонажа, используя свои собственные рисунки.
Рис. 7.14. Окончательный вид монстра
В этой главе вы познакомились с одним из основных способов моделирования на основе сетки полигонов — с эмуляцией работы инструмента Subdivision Surfaces (Подразбиваемые поверхности). Используя продемонстрированные методы, вы теперь сможете самостоятельно создавать органические объекты разного рода. Особое внимание мы уделили следующим темам:
Итак, вы познакомились с обоими способами моделирования в Maya — моделированием на основе NURBS-кривых и на основе полигонов — и научились пользе-ваться различными инструментами. К этому моменту вы, скорее всего, уже начали представлять себе масштаб потенциальных возможностей Maya. В следующих главах мы еще не раз вернемся к сцене с домиком монстра, чтобы продемонстрировать способы применения материалов, освещения сцены, анимации и визуализации полученного результата. Ведь моделирование — это только первый шаг!