При создании объекта первым делом важно разобраться в его структуре. Для аниматора лучшей тренировкой являются попытки мысленно разбить моделируемый предмет на составные части. Этот способ помогает перевести процесс воссоздания объекта в термины трехмерной графики. Обычно сначала моделируются отдельные элементы, которые позже соединяются в одно целое. Соберите как можно больше информации об объекте, который вы собираетесь моделировать. Сфотографируйте его с разных сторон, измерьте и запишите точные габариты и даже сделайте подробное описание объекта. Попытайтесь нарисовать его на бумаге или вылепить из пластилина. Предназначенный для моделирования инструментарий Maya широк и разнообразен, поэтому важно правильно выбрать наиболее подходящий метод воссоздания объектов. Также нужно правильно выбрать уровень детализации модели. Это очень важный вопрос, так как слишком подробная детализация увеличивает время обсчета сцены, а соответственно, и время визуализации.
Для начала определитесь с местом модели в пространстве. Например, рассмотрим две сцены, показанные на рис. 4.1. Если скамейка будет видна только издали, как показано на левом изображении, не имеет смысла тратить время на создание таких деталей, как, например, желобки на подлокотнике. Но если планируется продемонстрировать скамейку крупным планом, без этой детали не обойтись.
Рис. 4.1. Уровень детализации модели зависит от ее места в сцене
Если нет возможности однозначно определить оптимальный уровень детализации, имеет смысл сделать его максимальным. Дело в том, что убрать лишние элементы намного проще, чем смоделировать недостающие. Также следует помнить, что мелкие детали в большинстве случаев убедительно имитируются с помощью текстурных карт. Вы будете изумлены, убедившись, насколько подробно детализированные модели можно получить таким простым способом.
Повышенная детализация требует повышенной производительности аппаратного обеспечения. Соответственно, если мощность вашего компьютера или возможности видеокарты ограничены, детализацию моделей нужно продумывать особенно тщательно. Заранее определившись с этим аспектом и вооружившись набором фотографий и рисунков интересующего объекта, вы сможете максимально увеличить эффективность процесса его моделирования.
В этом разделе мы обсудим процесс выбора метода моделирования. В Maya моделирование осуществляется на основе трех разных форматов: неоднородных рациональных сплайнов Безье (о них мы поговорим в этой главе), сеток полигонов (они являются предметом обсуждения следующей главы) и поверхностей с иерархическим разбиением (этот усовершенствованный метод будет представлен в главе 6). Хотя традиционным методом является именно NURBS-моделирование, проще всего описать процесс создания объектов на основе полигональных сеток. Поэтому начнем мы именно с него.
Полигональное моделирование
Полигоны, или многоугольники, состоят из граней (faces). Одна грань представляет собой плоскую поверхность, полученную соединением трех точек, называемых вершинами (vertex). Положение вершин определяет форму и размер грани. Линии, соединяющие вершины друг с другом, называются ребрами (edges). Как правило, полигональные грани имеют три вершины, но могут иметь и четыре вершины и, соответственно, как треугольную, так и четырехугольную форму.
Грани соединяются друг с другом вдоль ребер, формируя более сложную поверхность (рис. 4.2).
Рис. 4.2. Полигональная сфера и составляющие ее подобъекты
Полигональные модели проще всего визуализируются, и именно по этой причине они обычно используются в игровых приложениях, где визуализация должна происходить прямо по ходу игры. Для игр также предпочтительно создавать объекты, состоящие из небольшого числа полигонов, чтобы максимально ускорить
процесс визуализации. Модели с плотной сеткой обычно используются в кино 11 на телевидении. Благодаря возможности создания моделей из одного куска данный формат применяется для получения персонажей. Персонажи в процессе анимации деформируются различными способами, поэтому крайне выгодно иметь модель, которая не будет разламываться в области швов.
Практические навыки моделирования на основе полигонов вы получите в главе 5.
NURBS-моделирование
В основе NURBS-моделирования лежат математические формулы, намного более сложные, чем для создания полигонов. Так как сцены с NURBS-моделямп требуют дополнительных ресурсов, они используются в ситуациях, когда визуализация производится заблаговременно, например в анимационных фильмах или на телевидении. Так как NURBS-модели отличаются плавными и искривленными формами, моделирование на основе неоднородных рациональных сплайнов Безье чаще всего используется для создания персонажей автомобилей и тому подобных объектов.
Как уже упоминалось, аббревиатура NURBS расшифровывается как «неоднородные рациональные сплайны Безье». NURBS-геометрия основана на кривых, математическая концепция которых была разработана французским инженером Пьером Безье. Кривые Безье располагаются между управляющими вершинами (CV — control vertices) и основаны на уравнениях третьего порядка.
Для создания кривой Безье требуются как минимум четыре управляющих вершины. Установка каждой следующей такой вершины приводит к появлению очередного участка кривой, или сплайна, изогнутого наиболее удобным способом.
Как показано на рис. 4.3, управляющие вершины контролируют кривизну. Они соединяются друг с другом с помощью каркаса (hull), который используется для одновременного выделения наборов вершин. Первая управляющая вершина выглядит как закрытый квадратик, а вторая, задающая направление кривой, — как открытый. Кривой принадлежат только первая и последняя управляющие вершины, которые определяют ее начало и конец.
Рис. 4.3. Кривая Безье и ее компоненты
В то время как управляющие точки контролируют кривизну сплайна Безье, сами сплайны, называемые изопараметрическими кривыми (isoparams), определяют Кривизну NURBS-поверхности (рис. 4.4). Расстояние между двумя изопараметрическими кривыми называется интервалом (span). Чем больше количество интервалов, тем более детализированной является поверхность. Однако имейте В Виду, что наличие в сцене поверхностей с высокой детализацией замедляет процесс визуализации.
Рис. 4.4. NURBS-поверхность создается между изопараметрическими кривыми; отредактировать ее форму можно перемещением управляющих вершин
Изменение формы NURBS-поверхности основано на интерполяции кривых, в то время как деформация полигональных моделей связана с изменением ориентации наборов граней. Именно по этой причине намного проще получить гладкую деформацию NURBS-поверхности с небольшим набором управляющих вершин. Чтобы достичь аналогичного результата у сетки полигонов, потребуется увеличить детализацию поверхности.
NURBS-поверхность позволяет получить более гладкую деформацию (рис. 4.5), в то время как полигональная сетка разбивается на набор граней в местах расположения ребер. Для достижения такого же результата у сеток полигонов требуется дополнительная детализация.
Таким образом, если объект имеет плавные очертания, для его моделирования лучше использовать NURBS-поверхность. Если вы сомневаетесь в правильности выбора формата, все равно лучше начать моделирование на основе неоднородных рациональных В-сплайнов. Ведь потом готовую модель можно легко преобразовать в сетку полигонов, в то время как обратное преобразование зачастую довольно сложно реализуемо.
Рассмотрим процесс создания NURBS-кривой. Выберите в меню File (Файл) команду New (Создать) и разверните на весь экран окно проекции Perspective (Перспектива). Выберите в меню Create (Создать) команду CV Curve Tool (Построение CV-кривой) и обратите внимание на то, как при этом изменится форма указателя мыши. Несколько раз щелкните в разных точках координатной плоскости, формируя кривую. Как легко заметить, кривая Безье создается между управляющими вершинами. Нажмите клавишу Enter, чтобы закончить кривую.
Рис. 4.5. Результат сгиба NURBS-цилиндра (слева) и полигонального цилиндра (справа). NURBS-цилиндр остался гладким, в то время как полигональная модель приобрела
фасеточный вид
Поверхности с иерархическим разбиением
Поверхности с иерархическим разбиением приобрели лучшие черты NURBS-no-верхностей и полигональных сеток. Они совмещают простоту создания модели и гладкость ее формы.
Обычно построение модели начинается с сетки полигонов. Затем вы используете математику неоднородных рациональных сплайнов Безье для сглаживания полученной поверхности путем дополнительных разбиений нужных участков. Таким способом можно, например, легко превратить полигональный куб в сферу. Быстро создавая полигональные модели и увеличивая уровень их детализации, вы получаете новую гладкую поверхность. При этом существует возможность в любое время вернуться к исходной полигональной модели и внести в нее глобальные изменения.
Преимуществом моделей, полученных на основе поверхностей с иерархическим разбиением, является отсутствие складок и разрывов в местах соединения отдельных кусков, с которыми так часто приходится сталкиваться во время работы с NURBS-объектами. В результате именно этот формат становится предпочтительным для создания персонажей.
К сожалению, поверхности с иерархическим разбиением требуют еще большего количества вычислительных ресурсов, чем NURBS-модели. Практические навыки работы с этими поверхностями вы получите в главе 6.
Выбор формата
В Maya существует обширный инструментарий для работы с поверхностями всех видов, что позволяет создавать модели любого формата. Выбор по большей части зависит от предпочтений пользователя.
Пользователи, имеющие опыт лепки из глины, скорее всего, предпочтут работать с NURBS-поверхностями. Формирование нужных контуров путем изменения положения управляющих вершин во многом подобно именно этому процессу.
Полигоны напоминают инструмент сварщика или плотника. Моделирование на их основе включает в себя разрывы поверхностей, выдавливание отдельных участков и соединение кусков друг с другом. Проще всего таким способом создаются прямоугольные модели с прямыми линиями и острыми углами.
Как уже упоминалось, поверхности с иерархическим разбиением обладают достоинствами двух предыдущих форматов. Начав работу с довольно грубой формы, затем можно легко перейти к созданию мелких деталей. Причем последовательным разбиениям подвергаются только выбранные пользователем участки. Моделирование на основе поверхностей с иерархическим разбиением превосходно подходит для создания объектов органического происхождения, состоящих из одного куска.
Примитивами (primitives) называются простейшие объекты, которые можно создать в Maya, как, впрочем, и в любом другом приложении подобной направленности. Примитивы представляют собой простые геометрические формы, созданные на основе полигональных сеток, NURBS-поверхностей или поверхностей с иерархическим разбиением. Обычно они используются в качестве основы для более сложных моделей. Пример такого подхода вы уже видели в предыдущей главе при формировании колец Сатурна.
Объекты-примитивы предоставляют пользователю потрясающую возможность проявить талант скульптора (путем перемещения управляющих или обычных вершин), так как детализацию их поверхности он задает самостоятельно. Вы можете создать полигональный примитив с практически произвольным уровнем разбиения, в явном виде указав число его вершин и граней. Соответственно, NURBS-примитивы могут быть созданы с произвольным числом интервалов путем указания количества изопараметрических кривых и управляющих вершин.
Из объектов-примитивов можно получить сложные и детализированные модели, поэтому моделируемые объекты имеет смысл анализировать на предмет совпадения с формой одного из существующих примитивов. На рис, 4.6 показаны все объекты-примитивы, существующие в Maya, — NURBS-примитивы, полигональные примитивы, примитивы на основе поверхностей с иерархическим разбиением и появившиеся только в текущей версии объемные примитивы. Последние, в отличие от стандартных примитивов, используются в освещении сцены и при создании атмосферных эффектов, например тумана.
Рис. 4.6. Объекты-примитивы
Модели, созданные на основе неоднородных рациональных сплайнов Безье, могут состоять как из единой поверхности, так и из набора кусков (patches), соединяющихся друг с другом подобно лоскутному одеялу. Но в любом случае вы получаете гарантированно гладкую поверхность.
Поверхности в NURBS-моделировании создаются на основе кривых. В то время как соединение друг с другом управляющих вершин приводит к формированию кривых, соединение друг с другом кривых приводит к формированию поверхности. Соответственно, типичный процесс NURBS-моделирования начинается с создания кривой, определяющей ребра, контуры и границы поверхности.
Форма созданной поверхности определяется и контролируется изопараметриче-скнми кривыми, форму которых, в свою очередь, определяют управляющие вершины. Таким образом, форма поверхности редактируется посредством манипуляции управляющими вершинами.
Получить NURBS-поверхность можно различными способами. Проще всего создать NURBS-примитив Plane (Плоскость). Затем можно поменять ее форму перемещением управляющих точек и даже разрезать поверхность на несколько кусков. Примитив вовсе не обязательно должен сохранять исходную форму. Специальные инструменты позволяют отрезать от него куски и присоединять другие, моделируя нужный объект.
Впрочем, существуют и другие методы получения NURBS-поверхностей. В их основе лежит использование кривых, определяющих часть или части поверхности. Поговорим о них подробнее.
Метод лофтинга
Чаще всего поверхности создаются методом лофтинга, для которого требуется по меньшей мере две кривые. Поверхность формируется между этими кривыми, причем ее направление зависит от порядка их выделения. Пример полученной таким способом поверхности показан на рис. 4.7.
Рис. 4.7. Простая поверхность, полученная методом лофтинга из двух кривых
Применим этот метод на практике:
1. Нарисуйте две кривые.
2. Выделите кривые в произвольном порядке.
3. Убедитесь, что вы находитесь в режиме Modelling (Моделирование). Если это не так, нажмите клавишу F3. Выберите в меню Surfaces (Поверхности) команду Loft (Лофтинг). Альтернативным способом вызова данной команды является щелчок на кнопке Loft (Лофтинг) вкладки Shelf (Полка) с названием Surfaces (Поверхности).
Задействовав в процессе несколько кривых, можно получить более сложную поверхность. Чем большее количество управляющих вершин содержит каждая кривая, тем больше изопараметрических кривых будет на поверхности и, соответственно, более детальной она станет. На рис. 4.8 показана поверхность, полученная методом лофтинга на основе четырех кривых.
Рис. 4.8. Поверхность, созданная методом лофтинга на основе четырех кривых, которые выделялись по порядку слева направо
Метод лофтинга работает лучше всего, когда кривые представляют собой сечения моделируемого объекта. Он используется для создания самых разных поверхностей, от самых простых, например поверхности стола, до сложных, таких, как человеческое лицо.
Метод вращения
В основе поверхностей, получаемых методом вращения, лежит единственная кривая, которую вращают вокруг точки в пространстве. Начинается процесс с создания кривой-профиля, которая затем поворачивается на угол от 0 до 360°. Вращение обычно происходит вокруг опорной точки объекта, которая располагается в начале координат, но может быть и смещена, как вы могли убедиться в предыдущей главе. Слева на рис. 4.9 показана кривая-профиль для винного бокала, а справа представлен готовый объект, полученный вращением этой кривой вокруг оси У.
Потренируемся в создании поверхности методом вращения:
1. Нарисуйте кривую.
2. Выделите ее и выберите в меню Surfaces (Поверхности) команду Revolve (Вращение).
Данный метод используется для создания таких объектов, как бутылки, ножки мебели или бейсбольные биты, то есть симметричных предметов.
Рис. 4.9. Кривая-профиль и результат ее поворота на 360° вокруг оси Y
Метод выдавливания
Для получения поверхности методом выдавливания требуются две кривые — кривая-профиль и кривая-путь. Первая представляет собой сечение требуемой поверхности. Затем она выдавливается вдоль кривой-пути. Чем больше количество управляющих точек на каждой кривой, тем более детализированной получится итоговая поверхность. На рис. 4.10 показаны исходные кривые, а на рис. 4.11 изображена поверхность, полученная на их основе.
Рис. 4.10. Кривая-профиль представляет собой изображение латинской буквы I, а кривая путь — просто линию, изогнутую по направлению к камере
Рис. 4.11. Методом выдавливания была получена изогнутая труба в форме буквы I
Попрактикуемся в создании поверхности методом выдавливания:
1. Нарисуйте две кривые.
2. Выделите кривую-профиль.
3. При нажатой клавише Shift выделите кривую-путь.
4. Выберите в меню Surfaces (Поверхности) команду Extrude (Выдавить).
Этим методом создаются такие объекты, как извилистые туннели, шланги для полива, пружины или занавески.
Создание поверхностей с помощью инструмента Planar
Инструмент Planar (Планарный) работает только с кривыми, лежащими на плоскости. Он создает двумерную поверхность, соответствующую форме кривой. Попробуем получить поверхность таким способом:
1. Нарисуйте замкнутую кривую, лежащую в одной плоскости.
2. Выберите в меню Surfaces (Поверхности) команду Planar (Планарный).
Взяв набор вложенных друг в друга замкнутых кривых, можно получить поверхность с отверстиями внутри. Слева на рис. 4.12 показана сплошная плоская поверхность. Справа вы видите результат создания аналогичной поверхности на основе двух кривых.
Получаемые таким способом поверхности особенно часто используются при создании текста. Их лучше оставлять плоскими, так как попытки деформации обычно не дают хороших результатов.
Рис. 4.12. Плоская поверхность, полученная на основе одной кривой (слева); поверхность, полученная на основе вложенных друг в друга кривых (справа}
Метод выдавливания со скосом
Функция выдавливания со скосом формирует поверхность как из открытых, так и из замкнутых кривых. Она отличается от обычной операции выдавливания изменением контура, приводящим к появлению кромки (рис. 4.13). Ребра этой кромки можно сделать как сглаженными, так и острыми.
Многочисленные параметры инструмента Bevel (Скос) позволяют контролировать размер скоса и глубину выдавливания. Сформированные таким методом объекты имеют отверстие в центре, которое легко можно закрыть участком плоскости, полученным с помощью инструмента Planar (Пленарный).
Вот как на практике выглядит процесс создания поверхности со скосом:
1. Нарисуйте кривую.
2. Выберите в меню Surfaces (Поверхности) команду Bevel (Скос).
В Maya существует аналогичный инструмент Bevel Plus (Усовершенствованный скос). Он отличается наличием дополнительных параметров, позволяющих формировать более сложные кромки. Данный метод замечательно подходит для создания трехмерных букв и таких объектов, как бутылочные пробки или пуговицы. Кроме того, он позволяет легко сгладить резкие кромки.
Создание поверхностей с помощью инструмента Boundary
Инструмент Boundary (Граница) позволяет создавать поверхность из области пространства, ограниченной тремя или четырьмя кривыми. Например, представьте
Рис. 4.13. Исходная кривая и полученный из нее методом выдавливания со скосом объект. Отверстие внутри объекта было закрыто плоскостью, полученной с помощью
инструмента Planar
Рис. 4.14. Четыре пересекающиеся кривые (слева) и созданная на их основе поверхность (справа)
две вертикальные кривые, нарисованные напротив друга друга, которые определяют боковые границы будущей поверхности. Соответственно, две горизонтальные кривые определяют верхнюю и нижнюю границы. Эти кривые вовсе не обязаны принадлежать одной плоскости, они могут произвольным образом располагаться в пространстве. Порядок их выделения не имеет особого значения, но лучше всего выделять их попарно. На рис. 4.14 показаны набор пересекающихся кривых и полученная на их основе поверхность.
Для получения поверхности подобным методом достаточно создать четыре пересекающиеся кривые, выделить их и выбрать в меню Surfaces (Поверхности) команду Boundary (Граница). Этим способом часто моделируются объекты, имеющие определенную форму, например складной верх автомобиля.
Комбинации различных техник
При создании конкретных моделей часто приходится применять комбинации различных техник. Например, если по ходу моделирования вам требуется кривая, можно воспользоваться изопараметрической кривой, уже принадлежащей этой поверхности.
Рассмотрим, например, пару поверхностей, полученных методом лофтинга, которые требуется соединить друг с другом при помощи еще одной поверхности. Для выполнения этой задачи имеет смысл сделать объекты полупрозрачными. Это позволит лучше видеть происходящее. Выберите в меню Shading (Затенение) окна проекции Perspective (Перспектива) команду Shade Options > X-Ray (Параметры затенения > Рентген). Вам нужно выделить изопараметрическую кривую, принадлежащую первой поверхности, затем обе независимые кривые и, наконец, изопараметрическую кривую, принадлежащую второй поверхности.
1. Создайте методом лофтинга две поверхности, подобные показанным на рис. 4.15, или загрузите файл Lofting_Exercise_l.ma из папки ChapterFiles\Lofting_ Exercise\scenes прилагаемого к книге компакт-диска.
2. Для выделения первой изопараметрической кривой нужно перейти в режим выделения подобъектов. Щелкните на поверхности правой кнопкой мыши и выберите в появившемся меню команду Isoparams (Изопараметрические кривые).
Рис. 4.15. Две полученные методом лофтинга
поверхности, между которыми
находятся две кривые
Рис. 4.16. Выделение кривых, которые
послужат основой для новой
поверхности
3. Выделите изопараметрическую кривую, расположенную рядом с левым краем поверхности. Нажмите и удерживайте клавишу Shift; щелчком выделите сначала первую, а затем вторую кривую. Воспользуйтесь контекстным меню, чтобы снова получить возможность выделения изопараметрической кривой, и при нажатой клавише Shift выделите кривую, расположенную у левого края второй поверхности (рис. 4.16).
4. Выберите в меню Surfaces (Поверхности) команду Loft (Лофтинг). Полученный в результате объект показан на рис. 4.17.
Рис. 4.17. Новая поверхность, полученная методом лофтинга, имеет изогнутую форму
В главе 2 рассказывалось о кнопке Construction History (История конструирования) в строке состояния. История конструирования представляет собой последовательность изменения объектов. Фиксация этой кнопки при создании объектов-примитивов дает доступ к их исходным параметрам.
Если вы фиксируете историю конструирования в процессе создания NURBS-поверхностей, редактирование любой из исходных кривых будет приводить к изменению формы соответствующей поверхности. Например, объект, который вы только что создали методом лофтинга, будет менять свою форму при любых перемещении или деформации исходных кривых. Если переместить одну из исходных поверхностей и немного повернуть ее назад, центральная поверхность изменит свою форму, чтобы сохранить соединение.
Так как центральная поверхность методом лофтинга была сформирована на основе изопараметрических кривых двух существующих поверхностей, соединение сохранится вне зависимости от перемещения этих кривых (рис. 4.18).
Рис. 4.18. Благодаря включенной истории конструирования форма поверхности, полученной методом лофтинга, будет меняться при изменении положения или формы исходных кривых
Подобная техника работает вне зависимости от метода создания поверхностей. Наличие истории конструирования позволяет, например, деформировать набор поверхностей, не разрывая связей между ними.
Тогда, может быть, имеет смысл все время фиксировать данные о создании объектов? К сожалению, сохранение истории конструирования всех объектов увеличивает размер выходного файла и замедляет работу над сценой. Поэтому обычно после завершения работы над объектом историю его конструирования удаляют.
Для этого достаточно выделить нужную поверхность и выбрать в меню Edit (Правка) команду Delete by Type » History (Удалить объекты типа * История). Вы можете также удалить историю конструирования всех объектов сцены, воспользовавшись командой Delete All by Type > History (Удалить все объекты типа > История).
В упражнениях этого раздела мы познакомимся со следующими понятиями и техниками моделирования:
плоскости изображения; лофтинг; моделирование методом вращения; поверхности, полученные с помощью инструмента Boundary (Граница); обрезка поверхностей; соединение и разъединение кривых и поверхностей; дублирование объектов и кривых.
Вам предстоит смоделировать алебарду на основе неоднородных рациональных сплайнов Безье. В данном случае не нужно копировать реально существующий объект, его дизайн мы создадим самостоятельно. Но даже в этом случае вам потребуется отправная точка. Сначала моделируемый объект нужно нарисовать.
Создайте новый проект axe_model. Если бы вам пришлось работать над реальным проектом, потребовался бы сбор справочной информации, например фотографий, на основе которых вы смогли бы выработать дизайн алебарды. Обычно такие фотографии помещаются в папку sourceimages вашего проекта. Но в данном случае вы сможете найти все сопутствующие материалы на прилагаемом к книге компакт-диске.
В качестве образца воспользуемся простым наброском. Скопируйте файл Ахе_ outline_l.tif из папки ChapterFiles\Axe_Model\sourceimages в папку sourceimages вашего проекта.
ВНИМАНИЕ
Не стоит работать с файлами, находящимися на компакт-диске. Ведь сохранять результаты своих трудов вам все равно придется в папку на жестком диске вашего компьютера. Поэтому имеет смысл сразу скопировать туда все относящиеся к проекту файлы.
1. Выберите в меню File (Файл) команду New Scene (Создать сцену). Перейдите в режим Modeling (Моделирование), выбрав этот вариант из раскрывающегося списка, расположенного в строке состояния, или нажав клавишу F3.
2. Импортируйте рисунок в окно проекции Front (Вид спереди). Для этого выберите в меню View (Вид) этого окна проекции команду Image Plane > Import Image (Плоскость изображения > Импортировать изображение).
В качестве плоскостей изображения обычно выступают растровые файлы в формате TIFF или JPEG. Они видны в окнах проекции и выполняют роль опорного рисунка. Обычно они используются для моделирования, хотя наборы изображений могут оказаться полезными при отслеживании движения. Более подробную информацию на эту тему вы найдете в книге в дальнейшем.
3. Выберите файл Axe_outline_l.tif в папке sourceimages и загрузите его. Рисунок появится в окнах проекции Front (Вид спереди) и Perspective (Перспектива) (рис. 4.19).
Рис. 4.19. Плоскость изображения, загруженная в окно проекции Front
Теперь нужно отрегулировать параметры плоскости изображения таким образом, чтобы она оказалась за координатной сеткой. По умолчанию после загрузки плоскость располагается в начале координат и, соответственно, находится поверх сетки. Нужно слегка переместить ее вглубь:
1. Выберите в меню View (Вид) окна проекции Front (Вид спереди) команду Image Plane > Image Plane Attributes > imagePlanel (Плоскость изображения » Атрибуты плоскости изображения > imagePlanel), чтобы открыть для плоскости изображения окно диалога Attribute Editor (Редактор атрибутов).
2. Введите в поле Center Z (Центрировать по оси Z) в разделе Placement Extras (Дополнительные возможности размещения) значение 2 (рис. 4.20). В результате плоскость изображения сдвинется на 2 единицы в отрицательном направлении оси Z и окажется за координатной сеткой. Это позволит создавать кривые на нужной плоскости, не теряя из виду опорное изображение.
3. Если вам не нравится наличие плоскости изображения в других окнах проекции, установите переключатель Display (Показывать) в разделе Image Plane Attributes (Атрибуты плоскости изображения) в положение Looking trough camera (Через камеру). В результате плоскость изображения останется только в окне проекции Front (Вид спереди).
Рис. 4.20. Атрибуты размещения плоскости изображения в окне диалога Attribute Editor
СОВЕТ
Если плоскость изображения в окне проекции не видна, вызовите меню Show (Показать) этого окна и убедитесь в наличии галочки рядом с командой Cameras (Камеры).
В окне проекции Front (Вид спереди) создайте NURBS-кривую, совпадающую с контуром алебарды. Начните с вершины лезвия, расположенной слева от ручки. Перед тем как приступить к работе, убедитесь в том, что вы нажали кнопку Construction History (История конструирования) в строке состояния:
1. Выберите в меню Create (Создать) команду CV Curve Tool (Создание CV-кривой). Альтернативным способом активизации этого инструмента является щелчок на соответствующей кнопке вкладки Shelf (Полка) с названием Curves (Кривые).
2. Начните с верхней части алебарды (рис. 4.21), а затем обходите контур против часовой стрелки, ставя управляющие вершины. Чтобы сформировать острый кончик топора, нужно поставить там три управляющие вершины. Эта операция осуществляется следующим образом:
Создайте первую управляющую точку топорища. Включите режим привязки к точкам, нажав кнопку Snap to Points (Привязка к точкам). Создайте еще две управляющие вершины. Теперь они гарантированно будут располагаться поверх первой. Отключите режим привязки.
Рис. 4.21. Создание кривой, повторяющей контуры топора
3. Обведите лезвие. На нижнем острие снова создайте три управляющие точки, включив соответствующий режим привязки.
4. Обведите контур оставшейся части топора, создав три управляющие вершины в месте соединения с ручкой, а последнюю управляющую вершину поставьте непосредственно под первой.
В данном случае вовсе не нужно стремиться совместить первую и последнюю управляющие вершины. Замкнуть сплайн всегда можно позже с помощью команды Open/Close Curve (Разомкнуть/Замкнуть кривые).
5. Нажмите клавишу Enter, чтобы завершить создание кривой.
6. Убедитесь в том, что кривая выделена, и выберите в меню Edit Curves (Правка кривых) команду Open/Close Curve (Разомкнуть/Замкнуть кривые). Теперь кривая готова.
7. Нажмите клавишу F8 и отрегулируйте положение управляющих вершин таким образом, чтобы форма кривой лучше совпадала с контуром рисунка.
8. Сохраните сцену.
9. Загрузите файл axe_model_vl.mb из папки ChapterFiles\Axe_Model\scenes прилагаемого к книге компакт-диска, чтобы сравнить полученный результат с тем, что получилось у нас.
Сохранив сцену перед тем, как открыть новую версию файла, вы гарантируете безопасность результатов своего труда. Впрочем, при попытке открыть новый файл или новую сцену приложение спрашивает, хотите ли вы сохранить текущий файл. Но лучше не дожидаться этого окна диалога и сохранять работу заблаговременно. Тем более что функция инкрементного сохранения, с которой вы познакомились в главе 3, позволяет легко создавать нужное количество резервных копий.
Отключение плоскостей изображения
Плоскость изображения вам больше не понадобится. Убрать ее можно в окне диалога Attribute Editor (Редактор атрибутов). Для его вызова выберите в меню View (Вид) окна проекции Front (Вид спереди) команду Image Plane > Image Plane Attributes HmagePlanel (Плоскость изображения > Атрибуты плоскости изображения > imagePlanel). В раскрывающемся списке Display Mode (Режим отображения) в разделе Image Plane Attributes (Атрибуты плоскости изображения) выберите вариант None (Отсутствует). Чтобы снова сделать ее видимой, достаточно выбрать в этом списке вариант RGB.
Дублирование кривых
Топору нужно придать толщину. Для этого вам потребуется копия его контура:
1. Выделите кривую и выберите в меню Edit (Правка) команду Duplicate (Дублировать). В итоге в сцене будет выделена копия исходной кривой.
2. Слегка переместите копию в отрицательном направлении оси Z(pnc. 4.22). Обратите внимание на то, что у обоих контуров опорная точка располагается в начале координат.
3. Чтобы поместить опорную точку в центр топора, выделите оба контура и выберите в меню Modify (Изменить) команду Center Pivot (Центрировать опорную точку).
Рис. 4.22. Изменение положение копии исходного контура
СОВЕТ
Если после выполнения команды Duplicate (Дублировать) (или любой другой) вы получили странные результаты, откройте окно диалога с параметрами этой команды и выберите в меню Edit (Правка) этого окна команду Reset Settings (Сбросить настройки).
Чтобы создать лезвие, выполните следующие действия:
1. Выделите исходный контур топора и продублируйте его. Поместите копию между двумя уже имеющимися контурами.
2. Выделите исходный контур, перейдите в режим редактирования подобъектов, нажав клавишу F8, и, выделив управляющие точки лезвия, переместите их поближе к центральному контуру. Проделайте ту же операцию с управляющими точками лезвия второй копии.
3. Выделите управляющие точки лезвия центральной копии (исключая управляющие точки на концах) и слегка выдвиньте их вперед (рис. 4.23). Теперь остается соединить все три грани методом лофтинга, и замечательное, острое лезвие будет готово.
4. Сформируйте желобок на верхней и нижней сторонах топора. Для этого выделите управляющие точки на верхней и нижней кромках центрального контура (исключая управляющие точки, расположенные на остриях) и слегка уменьшите их масштаб относительно оси Y (pиc. 4.24). При необходимости нажмите клавишу F8 и, перемещая управляющие вершины, отредактируйте положение центральной кривой.
Рис. 4.23, Формирование лезвия выдвижением вперед управляющих точек центральной копии
Рис. 4.24. Создание желобка на верхней и нижней поверхностях
Сохраните сцену. Подготовительная работа закончена, теперь пришло время создания поверхностей. Начинающим имеет смысл вернуться к началу главы и попытаться самостоятельно повторить подготовительный процесс.
Итак, приступим к созданию боковой поверхности топора. В данном случае нельзя использовать инструмент Planar (Пленарный), так как кривые, которые послужат основой для этой поверхности, не лежат в одной плоскости. Ведь чтобы сделать лезвие острым, мы слегка переместили их в области режущей кромки. Поэтому применим инструмент Boundary (Граница).
Для корректной работы этого инструмента потребуются четыре пересекающиеся друг с другом кривые. В данном случае не имеет смысла их создавать — достаточно разбить уже имеющийся контур на четыре части:
1. Выделите верхний контур и перейдите в режим редактирования подобъектов. В данном случае требуется выделить точки редактирования, а не управляющие вершины, поэтому в строке состояния нужно нажать только кнопки Select by Component Type: Points (Выделять подобъекты типа: Точки) и Select by Component Type: Farm Points (Выделять подобъекты типа: Параметрические точки). Кривые приобретут голубой цвет, и на них появятся маленькие малиновые крестики. Это и есть точки редактирования (edit points).
ПРИМЕЧАНИЕ
Точки кривой (curve points) создают кривую, в то время как управляющие вершины (control vertex) контролируют форму этой кривой. По своей функции точки редактирования (edit points) подобны управляющим вершинам, но, в отличие от них, лежат на самой кривой.
2. Щелкните в произвольном месте кривой и перетащите появившийся желты н квадратик в нижний угол отрезаемого участка. Еще раз щелкните на кривом, на этот раз при нажатой клавише Shift, и перетащите новый квадратик в верх ний угол отрезаемого участка. Проделайте эту операцию еще два раза, чтобы квадратики оказались во всех углах объекта (рис. 4.25). Именно в этих точках кривая будет разорвана.
Рис. 4.25. Выделение точек кривой, расположенных в углах контура
3. Выберите в меню Edit Curves (Правка кривых) команду Detach Curves (Разъединить кривые), и кривая распадется на четыре части. В окне диалога Outliner (Структура) появятся четыре новых наименования.
4. Скройте эти кривые, чтобы освободить рабочее пространство:
Выберите в меню Layers (Слои) окна диалога Layer Editor (Редактор слоев) команду Create Layer (Создать слой). Создайте таким способом три слоя. Выделите четыре новых кривых и выберите в меню Layers (Слои) команду Add Selected Objects to Current Layer (Добавить выделенные объекты в текущий слой). Чтобы сделать эти объекты невидимыми, щелкните на квадратике с буквой V, расположенном слева от имени слоя. Повторный щелчок вернет их на экран. Выделите центральный контур и поместите его в слой 2. Третий контур поместите в слой 3.
5. Отключите видимость первого и второго слоев, чтобы без помех отредактировать третий контур. Повторите процедуру разбиения контура на четыре кривых. Затем сделайте видимым только второй слой и разбейте на четыре кривых центральный контур.
Кривые, полученные при разбиении контура, помещаются в исходную сцену. Это значит, что их нужно выделить и поместить в соответствующий слой.
6. Отключите видимость третьего слоя и сделайте видимыми объекты из первого слоя. Выделите все кривые и выберите в меню Surfaces (Поверхности) команду Boundary (Граница).
Пока что полученная поверхность не входит в границы контура из-за того, что количество интервалов на противоположных кривых не совпадает друг с другом. Соответственно, для устранения этого недостатка нужно поменять структуру лежащих в основе поверхности кривых. Нажимайте комбинацию клавиш Ctrl+z, пока поверхность не исчезнет. Это аналогично многократному выбору в меню Edit (Правка) команды Undo (Отмена).
7. Выделите все кривые и щелкните на квадратике, расположенном справа от команды Rebuild Curve (Перестройка кривой) в меню Edit Curves (Правка кривых). Переключатель Rebuild Type (Тип перестроения) в появившемся окне диалога оставьте в положении Uniform (Однородное), а в поле Number of Spans (Число интервалов) введите значение 10. В результате все кривые будут разделены на 10 интервалов. Обратите внимание на то, что при этом некоторые управляющие точки слегка сместились, что привело к искажению линий.
8. В режиме редактирования подобъектов верните эти управляющие точки на место.
9. Выделите все кривые и снова выберите в меню Surfaces (Поверхности) команду Boundary (Граница). В результате должен получиться объект, показанный на рис. 4.26. Поместите его в слой layerl.
Рис. 4.26. Передняя поверхность лопасти топора
10. Отключите видимость слоя layerl и сделайте видимыми объекты, помещенные в слой layers. Осуществите перестройку появившихся кривых.
11. Создайте с помощью команды Boundary (Граница) обух топора.
Итак, мы создали переднюю и заднюю поверхности топора. Теперь пришла пора соединить их друг с другом:
1. Сделайте видимым слой 1ауег2. Кривые этого слоя будут участвовать в построении соединительных поверхностей методом лофтинга. В результате должны получиться острое лезвие спереди и желобки на верхней и нижней кромках.
СОВЕТ
Чтобы облегчить выделение кривых, имеет смысл скрыть присутствующие в сцене NURBS-поверхности. Выберите в меню Show (Показать) окна проекции Perspective (Перспектива) команду NURBS Surfaces (NURBS-поверхности). В результате в сцене останутся только кривые.
2. Выделите все четыре кривые и выберите в меню Edit Curves (Правка кривых) команду Rebuild Curve (Перестройка кривой). При необходимости отредактируйте форму кривых перемещением управляющих вершин.
3. Если перед выполнением предыдущего шага вы предпочли скрыть NURBS-поверхности, сделайте их видимыми, еще раз выбрав в меню Show (Показать) окна проекции Perspective (Перспектива) команду NURBS Surfaces (NURBS-поверхности).
4. По очереди выделите кривые, расположенные в области верхней кромки лопасти топора, и выберите в меню Surfaces (Поверхности) команду Loft (Лофтинг). Проделайте эту операцию и с кривыми нижней кромки. Примерный вид полученного вами объекта показан на рис. 4.27.
5. Для создания острого лезвия слегка изменим операцию лофтинга. По очереди выделите три кривые и щелкните на квад ратике, расположенном справа от команды Loft (Лофтинг) в меню Surfaces (Поверхности). В появившемся окне диалога установите переключатель Surface Degree (Кривизна поверхности) в положение Linear (Линейная) и щелкните на кнопке Loft (Лофтинг).
Рис. 4.27. Верхняя и нижняя кромки лопасти топора
ПРИМЕЧАНИЕ
Поверхности, созданные на основе неоднородных рациональных сплайнов Безье, могут иметь разную кривизну. Стандартными являются кубические NURBS-поверхности, позволяющие получать уже знакомые вам гладкие контуры. Линейные поверхности представляют собой участки плоскости, соответственно, стыковаться они могут под острым углом.
6. Выделяя центральную кривую и перемещая ее вдоль оси X, можно регулировать остроту лезвия. Благодаря наличию истории конструирования объектов это приведет к изменению формы полученной методом лофтинга поверхности.
Теперь осталось отредактировать созданный объект. Обратите внимание, что нижний и верхний края лезвия топора на самом деле не такие уж и острые. Нужно заострить их, переместив поближе друг к другу управляющие точки исходных кривых:
1. Выделите рамкой управляющие точки, расположенные на нижнем острие лезвия.
2. Активизируйте инструмент Scale (Масштабировать) и подвиньте эти точки друг к другу, выполнив преобразование относительно оси Z.
3. По очереди выделяйте пары управляющих точек, расположенные выше по лезвию, и также пододвигайте их ближе друг к другу.
Сохраните сцену. На этом этапе вы можете загрузить файл axe_model_v2.mb с прилагаемого к книге компакт-диска и сравнить свой результат с авторским. Убедитесь, что вы осознали смысл всех техник, Использовавшихся при моделировании топора. Мы познакомились с набором новых процедур, и желательно, чтобы, перед тем как продолжить работу, они стали вам понятными. Хотя процесс построения топора мог показаться устрашающим и крайне медленным, создание компьютерной графики не настолько сложно, как это выглядит при первом знакомстве.
Пока что у нас имеется только передняя часть топора. Займемся моделированием задней:
1. Сделайте видимой плоскость изображения.
СОВЕТ
Проще всего управлять видимостью изображения с помощью команды Cameras (Камеры) из меню Show (Показать) соответствующего окна проекции. Но этот метод работает только в случае, когда в раскрывающемся списке Display Mode (Режим отображения) для рассматриваемой плоскости выбран вариант RGB.
2. Уже знакомым вам способом создайте контур обуха. Начните создание CV-кривой с верхнего левого угла и обведите контур, двигаясь по часовой стрелке.
3. Замкните кривую, выбрав в меню Edit Curves (Правка кривых) команду Open/Close Curve (Разомкнуть/Замкнуть кривые).
4. Продублируйте контур и переместите его в отрицательном направлении оси Z до совпадения с уже существующей плоскостью передней части топора.
5. Выделите угловые точки контура (рис. 4.28) и выберите в меню Edit Curves (Правка кривых) команду Detach Curves (Разъединить кривые). Проделайте эту операцию со вторым контуром.
Рис. 4.28. Чтобы разделить оба контура на четыре части, нужно выделить угловые точки каждого из них
6. Выделите все кривые и осуществите их перестроение. Для этого щелкните на квадратике, расположенном справа от команды Rebuild Curve (Перестройка кривой) в меню Edit Curves (Правка кривых), и введите в поле Number of Spans (Число интервалов) значение 20. Щелкните на кнопке Rebuild (Перестроить) и обратите внимание на изменившийся вид кривых. Перейдите в режим редактирования под объектов и верните кривым первоначальную форму перемещением управляющих вершин.
7. С помощью инструмента Boundary (Граница) создайте боковые поверхности.
8. Теперь воспользуемся немного другим методом. Удалите исходные кривые, оставив только две вновь созданные плоскости задней части обуха.
В результате для создания боковых поверхностей методом лофтинга вам потребуется использовать изопараметрические кривые.
Рис. 4.29. Задняя часть топора
9. Выделите поверхности, щелкните на них правой кнопкой мыши и выберите н появившемся меню команду Isoparams (Изопараметрические кривые). Выделите и.чопараметрические кривые на верхней кромке обеих поверхностей и выберите в меню Surfaces (Поверхности) команду Loft (Лофтинг).
10. Повторите эту операцию для формирования боковой и нижней поверхностей. Готовый объект показан на рис. 4.29.
Дчформаторами называются инструменты, предназначенные для изменения формы объектов. В то время как перемещения управляющих вершин вызывают изменение формы отдельных участков, деформаторы меняют вид всего объекта. Вам часто придется прибегать к таким деформаторам, как Bend (Изгиб) или Flare (Выпуклость), и вы убедитесь, насколько удобными и мощными инструментами они Являются. Более подробную информацию о работе с ними вы найдете в главе 6.
А пока мы изменим форму обуха с помощью деформатора Flare (Выпуклость):
1. Выделите две боковые грани. Благодаря фиксации истории конструирования деформации этих граней скажутся на состоянии соединяющих их поверхностей, полученных методом лофтинга.
2. Нажмите клавишу F2 для перехода в режим Animation (Анимация).
3. Выберите в меню Deform (Деформация) команду Create Nonlinear > Flare (Создать нелинейную > Выпуклость). Появившийся деформатор имеет цилиндрическую форму.
4. Поверните его на 90° вокруг оси Z.
5. Откройте окно диалога Attribute Editor (Редактор атрибутов), нажав комбинацию клавиш Ctrl+a. Перейдите на вкладку flarel и введите в поле Start Flare 7. (Начало выпуклости по оси Т) значение 0,02, а в поле High Bound (Верхняя граница) — значение 0,5.
Рис. 4.30. Работа над обухом закончена
Деформаторы используют историю конструирования для трансформирования геометрии, к которой они присоединены. Получив желаемую форму (рис. 4.30), деформатор можно удалить. Но если просто выделить деформатор и нажать клавишу Delete, объект вернет исходную форму. Поэтому сначала нужно удалить историю конструирования, выбрав в меню Edit (Правка) команду Delete by Type > History (Удалить объекты типа > История).
Работа над обухом закончена. Осталось смоделировать рукоять, и модель будет полностью готова.
1. Нажмите клавишу F3 для возвращения в режим Modeling (Моделирование). Сделайте видимой плоскость изображения в окне проекции Front (Вид спереди).
2. Создайте кривую, повторяющую контур левой половины рукояти. Начните сверху и постепенно спускайтесь вниз.
Рис. 4.31. Полученная методом вращения рукоять завершает модель алебарды
Рис. 4.32. Окно диалога Outliner со списком узлов смоделированной алебарды
3. Завершив создание кривой, нажмите кнопку Snap to Points (Привязка к точкам) в строке состояния. Затем нажмите клавишу Insert и переместите опорную точку кривой на последнюю снизу управляющую вершину.
4. Еще раз нажмите клавишу Insert. Выделите кривую и щелкните на квадратике, расположенном справа от команды Revolve (Вращение) в меню Surfaces (Поверхности). Убедитесь в том, что переключатель Axis Preset (Предустановленная ось) стоит в положении Y. Параметр Start Sweep (Начало сектора) должен иметь значение 0, а параметр End Sweep (Конец сектора) — значение 360. Заданное по умолчанию параметром Segments (Сегментов) количество сегментов также вполне подойдет в данном случае. Переключатель Output Geometry (Выходная геометрия) должен быть установлен в положение NURBS. Щелкните на кнопке Revolve (Вращать), и объект будет готов (рис. 4.31).
Для сравнения вы можете загрузить файл axe_model_ vS.mb с прилагаемого к книге компакт-диска. В главе б вы познакомитесь с другими деформаторами и получите дополнительные навыки работы с ними.
Откройте окно диалога Outliner (Структура) и обратите внимание на длинный беспорядочный список объектов (рис. 4.32). Сейчас мы коснемся чаще всего пропускаемой пользователями стадии работы над моделью. Но от этого она не перестает быть жизненно важной. Пройдитесь по всем узлам и присвойте каждому из них значимое короткое имя, если вы не сделали этого в процессе моделирования. После завершения моделирования исходные кривые можно удалить. Они больше не понадобятся. Также имеет смысл удалить историю конструирования поверхностей. В результате окно диалога Outliner (Структура) должно принять вид, показанный на рис. 4.33.
Рис. 4.33. Окно диалога Outliner после удаления лишних узлов
Рис. 4.34. Готовая алебарда
В режиме каркасного отображения можно заметить, что некоторые поверхности имеют пурпурный цвет. Это означает наличие у выделенного объекта выходных связей с объектом, имеющим пурпурный цвет. В большинстве случаев это история конструирования. Если поверхность или объект имеет окончательный вид, можно без проблем удалить все входные связи. В случае ошибки достаточно нажать комбинацию клавиш Ctrt+z, которая является аналогом функции Undo (Отмена).
Техники моделирования поверхности дают весьма впечатляющие результаты. На основе обычных и изопараметрических кривых можно получить сложные поверхности и смоделировать детализированные объекты органического происхождения. Большую роль в этом процессе играет история конструирования, позволяющая легко редактировать модель внесением изменений в послужившие для нее основой кривые.
В результате выполнения упражнений этой главы вы должны получить алебарду (рис. 4.34). Попытайтесь самостоятельно усовершенствовать ее дизайн, а также создать несколько новых алебард, чтобы закрепить знания, полученные в этой главе.
В Maya существует множество инструментов для редактирования NURBS-поверх-ностей. Кроме перемещения управляющих вершин есть и другие методы, позволяющие увеличить реализм модели. Обзор этих инструментов и способов работы с ними вы и найдете в этом разделе.
Откройте меню Edit NURBS (Правка NURBS) и щелкните на двойной черте, расположенной в его верхней части, чтобы превратить меню в плавающее окно. Рассмотрим функции, к которым оно дает доступ.
Спроецировав кривую на поверхность, вы можете, например, вырезать в поверхности дыру с помощью инструмента Trim Tool (Подрезка) из меню Edit NURBS (Правка NURBS). Если включена история конструирования, у вас появляется возможность присоединить к одной поверхности другую, следующую контуру спроецированной кривой.
Спроецированные кривые также используются для того, чтобы заставить один объект двигаться по поверхности другого. В этом случае они играют роль траектории, вдоль которой осуществляется анимация. Например, можно спроецировать кривую на холмистый ландшафт и заставить автомобиль двигаться вдоль этой кривой. В итоге перемещение автомобиля будет происходить с учетом особенностей ландшафта.
Для проецирования кривой на поверхность необходимо выделить сначала поверхность, а потом кривую и выбрать в меню Edit NURBS (Правка NURBS) команду Project Curve on Surface (Спроецировать кривую на поверхность).
Операция обрезки поверхностей, выполняемая с помощью команды Trim Tool (Подрезка) из меню Edit NURBS (Правка NURBS), позволяет с помощью ранее спроецированных или нарисованных на поверхности кривых создавать в ней отверстия.
Если требуется отменить операцию обрезки, а прибегать к функции Undo (Отмена) уже слишком поздно, воспользуйтесь командой Untrim Surfaces (Отмена обрезки поверхностей). Эта команда позволяет отменить и только последнюю операцию, и все ранее сделанные обрезки поверхности.
Функция команды Attach Surfaces (Соединить поверхности) полностью соответствует ее названию. Она соединяет две поверхности вдоль указанных изопараметричес-ких кривых. Нужно всего лишь при нажатой клавише Shift выделить такие кривые на границах обеих поверхностей и выбрать в меню Edit NURBS (Правка NURBS) команду Attach Surfaces (Соединить поверхности) (рис. 4.35).
Рис. 4.35. Команда Attach Surface соединяет поверхность вдоль выделенных изопараметрических кривых
Команда Detach Surfaces (Разъединение поверхностей) особенно полезна для формирования особых областей NURBS-поверхности — кусков. Достаточно выделить изопараметрическую кривую, которая укажет место будущего разрыва, выбрать в меню Edit NURBS (Правка NURBS) команду Detach Surfaces (Разъединение поверхностей), и поверхность распадется на части (рис. 4.36).
Рис. 4.36. Команда Detach Surfaces разрезает поверхность вдоль выделенной изопараметрической кривой
СОВЕТ
Если в месте предполагаемого разрыва отсутствует изопараметрическая кривая, достаточно щелкнуть на любой видимой изопараметрической кривой и перетащить ее в нужное место. Это будет вполне корректная кривая, просто она не участвует в разбиении поверхности на интервалы.
Неизбежно наступит момент, когда вам потребуется увеличить детализацию поверхности NURBS-объекта, то есть создать дополнительные интервалы. В этом случае достаточно выделить изопараметрическую кривую и выбрать в меню Edit NURBS (Правка NURBS) команду Insert Isoparams (Вставить изопараметрическую кривую). Это приведет к появлению дополнительного разбиения на интервалы. Данная функция используется для увеличения детализации отдельных участков NURBS-поверхности, что необходимо для более гладкой деформации. Например, добавив одну или две изопараметрические кривые в область локтевого сустава, вы сделаете сгиб руки более естественным (рис. 4.37).
Рис. 4.37. Вставка изопараметрических кривых влияет на вид деформации
Вы можете моделировать форму NURBS-поверхности с помощью указателя мыши, словно лепя ее из глины. Для этой цели в Maya существует набор инструментов Artisan (Кисти).
Модуль Artisan (Кисти) представляет собой набор кистей, дающих пользователю возможность рисовать непосредственно на поверхности. Например, инструмент Sculpt Surfaces Tool (Инструмент моделирования поверхностей) перемещает управляющие точки, позволяя таким способом вылепить из поверхности нужный объект.
1. В режиме показа тонированных оболочек объектов разверните на весь экран окно проекции Perspective (Перспектива). Создайте NURBS-сферу и откройте окно диалога Attribute Editor (Редактор атрибутов). На вкладке makeNurbsSpherel введите в поле Sections (Секций) значение 24, а в поле Spans (Интервалов) — значение 12. В данном случае чем более детализированной является поверхность, тем лучше будет проходить ее редактирование.
2. Выделите сферу и щелкните на квадратике, расположенном справа от команды Sculpt Surfaces Tool (Инструмент моделирования поверхностей) в меню Edit NURBS
Рис. 4.38. Инструмент Sculpt Surfaces Tool позволяет менять форму поверхности путем рисования на ней. Сбоку показано окно диалога с параметрами кисти
(Правка NURBS). Появившееся при этом окно диалога придется вызывать очень часто, так как оно позволяет менять параметры кисти.
После этого указатель мыши изменит форму (рис. 4.38). Буквосочетание внутри красного круга обозначает тип кисти, используемый в данный момент. Если красные линии направлены из круга, а внутри вы видите буквы Ps, значит, это надавливающая кисть (от англ. Push — давление, нажим), движения которой оставляют на поверхности вмятины. Черная стрелка, указывающая на центр сферы, является мерой параметра Max Displacement (Максимальное смещение), который задает силу надавливания на поверхность под действием указателя мыши. Чем меньше его значение, тем слабее кисть будет действовать на поверхность.
ПРИМЕЧАНИЕ
Ползунок Opacity (Непрозрачность) также задает силу действия кисти, но более деликатно, чем параметр Max Displacement (Максимальное смещение). Если сравнивать воздействие указателя мыши со штрихами кисти, этот параметр соответствует количеству краски. Но в данном случае числовое значение задает не цвет, а силу воздействия на поверхность.
3. Щелкните на поверхности сферы и протащите указатель мыши в сторону, чтобы посмотреть, как при этом деформируется поверхность. Используйте параметр Max Displacement (Максимальное смещение) для задания силы нажатия кисти, а параметры Radius (U) (Максимальный радиус) и Radius (L) (Минимальный радиус) — для задания размера кисти.
4. Установите переключатель Operation (Операция) в положение Pull (Вытаскивать). В центре указателя мыши появятся буквы Р1, а красные линии появятся в центре круга. Теперь движения указателя будут формировать выпуклости.
5. Если установить переключатель Operation (Операция) в положение Smooth (Сглаживать), движения указателя мыши будут сглаживать переход между выступающими областями и впадинами. Установка переключателя в положение Erase (Стирать) убирает ранее созданные деформации, возвращая поверхность в исходное положение.
Чем больше деталей вы собираетесь моделировать этим способом, тем сильнее должно быть разбиение поверхности на интервалы. Если «раскраске» подвергается только определенная область, ее детализацию можно увеличить, вставив дополнительные изопараметрические кривые с помощью команды Insert Isoparams (Вставить изопараметрическую кривую) из меню Edit NURBS (Правка NURBS). Имейте в виду, что изменение степени детализации поверхности после начала работы с инструментами типа Artisan (Кисти) приведет к потере уже полученных результатов.
Для приобретения дополнительных навыков работы с NURBS-поверхностями попытайтесь самостоятельно смоделировать следующие объекты:
Раковина для умывания. Сделайте несколько фотографий раковины в ванной или найдите их в Интернете. Этот объект имеет плавные контуры и гладкую поверхность, удобные для моделирования. Диван. Мягкая мебель также замечательно воссоздается моделированием на основе неоднородных рациональных сплайнов Безье. В данном случае можно воспользоваться методом лофтинга или отредактировать форму объекта-примитива. Выбор зависит только от ваших предпочтений. Зажигалка. Это очень простой предмет, но постарайтесь сделать его максимально детализированным. Голова персонажа из мультфильма. С помощью инструмента Sculpt Surfaces Tool (Инструмент моделирования поверхностей) постарайтесь превратить сферу в голову какого-нибудь персонажа. Вы увидите, насколько забавно работать с инструментами модуля Artisan (Кисти).
Моделирование является первой стадией производства анимации. Важно помнить основную цель этого процесса — изобразить объекты средствами компьютерной графики. С этой точки зрения упрощение объектов и разбиение их на составные части позволяет более четко увидеть перспективы моделирования. Например, воссоздавать автомобиль лучше в виде набора элементов: колес, дверей, сидений, капота, боковых панелей, багажника и т. п. Умение увидеть способ разделения объекта на части бесценно для компьютерной графики.