Получить 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. Новая поверхность, полученная методом лофтинга, имеет изогнутую форму