3D моделирование. Тема 14
Скачать 3.99 Mb.
|
Тема 4. Концептуальные основы моделирования объектов. 7. Моделирование на основе сплайнов. 8. Моделирование на основе сеток или многоугольников. 9. Параметрическое моделирование. 10. Моделирование на базе кусков поверхностей Безье. 11. Моделирование на основе неоднородных рациональных B- сплайнов. 12. Выбор подхода к моделированию. 1. Моделирование на основе сплайнов. Один из эффективных способов создания трехмерных моделей — использование техники сплайнового моделирования. В конечном итоге создание модели при помощи сплайнов (трехмерных кривых) сводится к построению сплайнового каркаса, на основе которого создается огибающая трехмерная геометрическая поверхность. Cплайновые примитивы Онлайновые примитивы представляют собой такой же рабочий материал, как и простейшие трехмерные объекты, создаваемые в 3ds max. Онлайновый инструментарий программы включает в себя следующие фигуры (рис. 4.1): 72 Рис.4.1. Сплайновые формы • Line (Линия); • Circle (Окружность); • Arc (Дуга); • NGon (Многоугольник); • Text (Онлайновый текст); • Section (Сечение); • Rectangle (Прямоугольник); • Ellipse (Эллипс); • Donut (Кольцо); • Star (Многоугольник в виде звезды); • Helix (Спираль). Чтобы создать сплайновый объект, перейдите на вкладку Create (Создание) командной панели в категорию Shapes (Формы), выберите строку Splines (Сплайны) и нажмите кнопку создаваемого примитива. Все сплайновые примитивы имеют схожие настройки. Например, каждый описанный объект имеет два обязательных свитка настроек: Rendering (Визуализация) и Interpolation (Интерполяция) (рис. 4.2). 73 Рис. 4.2. Два общих свитка настроек всех онлайновых примитивов По умолчанию сплайновые примитивы не отображаются на этапе визуализации и используются как вспомогательные объекты для создания моделей со сложной геометрией. Однако любой сплайновый примитив может выступать в сцене как самостоятельный объект. За отображение объекта в окне проекции и на этапе визуализации отвечает свиток настроек Rendering (Визуализация). Если установить флажок Renderable (Визуализируемый), объект на этапе визуализации становится видимым. Включенный параметр Display Render Mesh (Показывать сетку визуализации) позволяет визуализировать сплайновый примитив в окне проекции с учетом толщины сплайна, которая регулируется параметром Thickness (Толщина). Создаваемый сплайн характеризуется также количеством сторон Sides (Количество сторон) и углом их расположения Angle (Угол). Минимальное количество сторон сплайна — 3 (такой сплайн имеет треугольное сечение). Свиток настроек Interpolation (Интерполяция) определяет количество шагов интерполяции сплайна (количество сегментов между вершинами объекта). Установленный флажок Optimize (Оптимизация) служит для оптимизации сплайна. Редактирование сплайнов Любой онлайновый примитив можно преобразовать в так называемый Editable Spline (Редактируемый сплайн), который позволяет изменять форму объектов. Можно не преобразовывать сплайновую фигуру в Editable Spline (Редактируемый сплайн), а назначить объекту модификатор Edit Spline (Редактировать сплайн). В результате применения этого модификатора объект наделяется всеми свойствами редактируемого сплайна. В отличие от всех онлайновых примитивов, объект Line (Линия) по умолчанию обладает всеми свойствами редактируемого сплайна, поэтому конвертировать его в редактируемый сплайн не имеет смысла. Для преобразования сплайна в редактируемый щелкните на нем правой кнопкой мыши и в появившемся контекстном меню выберите команду Convert To > Convert to Editable Spline (Преобразовать > Преобразовать в редактируемый сплайн) (рис. 4.3). Форма сплайнового объекта, 74 преобразованного в редактируемый сплайн, может быть откорректирована на следующих уровнях подобъектов: Vertex (Вершина), Segments (Сегменты) и Spline (Сплайн). Для перехода в один из этих режимов редактирования выделите объект, перейдите на вкладку Modify (Изменение) командной панели и, развернув список в стеке модификаторов, переключитесь в нужный режим редактирования. Рис. 4.3. Открытие подменю Convert To (Преобразовать) Переключаться между режимами редактирования можно при помощи кнопок в свитке Selection (Выделение), который присутствует в каждом режиме (рис. 4.4). Рис. 4.4. Свиток настроек Selection (Выделение) Редактируемый сплайн имеет большое количество настроек, которые позволяют вносить любые изменения в структуру объекта. Например, при помощи кнопки Attach (Присоединить) в свитке Geometry (Геометрия) настроек объекта вы можете присоединить к данному объекту любой другой имеющийся в сцене. В режиме редактирования подобъектов Vertex (Вершина) можно изменить характер поведения кривой в точках изломов. Точки излома — это участки, в которых кривая изгибается. Они могут выглядеть по-разному: в виде 75 острых углов или закругленных участков. Чтобы изменить характер излома, в настройках режима редактирования Vertex (Вершина) установите переключатель New Vertex Type (Тип излома вершины) в одно из положений: Linear (Прямой), Bezier (Безье), Smooth (Сглаженный) или Bezier Corner (Угол Безье). Тип излома вершин можно также изменить при помощи контекстного меню. Для этого нужно выделить необходимые вершины, щелкнуть правой кнопкой мыши в окне проекции и выбрать характер излома. В зависимости от характера излома выделенные вершины по-разному отображаются в окне проекции — вершины типов Bezier (Безье) и Bezier Corner (Угол Безье) имеют специальные маркеры, с помощью которых можно управлять формой искривления. Создание трехмерных объектов на основе сплайнов Как мы уже говорили выше, на основе сплайновых фигур можно создавать сложные геометрические трехмерные объекты. Для этого используются модификаторы Surface (Поверхность), Lathe (Вращение вокруг оси), Extrude (Выдавливание) и Bevel (Выдавливание со скосом). Рассмотрим наиболее часто используемые способы создания трехмерных объектов на основе сплайнов. Создание поверхностей вращения Если присмотреться к объектам, которые нас окружают, то можно заметить, что многие из них обладают осевой симметрией. Например, плафон люстры, тарелки, бокалы, кувшины, колонны и т. д. Все эти объекты в трехмерной графике создаются как поверхности вращения сплайнового профиля вокруг некоторой оси при помощи модификатора Lathe (Вращение вокруг оси). Этот модификатор назначается созданному сплайну, после чего в окне проекции появляется трехмерная поверхность, образованная вращением сплайна вокруг некоторой оси. Сплайновая кривая может быть разомкнутой или замкнутой. Настройки модификатора (рис. 4.5) позволяют установить тип поверхности, получившейся в результате вращения сплайнового профиля. Это может быть Editable Mesh (Редактируемая поверхность), NURBS Surface (NURBS- поверхность) или Editable Patch (Редактируемая патч-поверхность). Кроме этого, при создании объекта можно устанавливать угол вращения профиля в диапазоне от 0 до 360°. 76 Рис. 4.5. Настройки модификатора Lathe (Вращения вокруг оси) Модификаторы Extrude (Выдавливание) и Bevel (Выдавливание со скосом) При создании трехмерных моделей часто используются стандартные модификаторы Extrude (Выдавливание) и Bevel (Выдавливание со скосом), которые схожи по своему действию и применяются к любой сплайновой форме 77 Рис. 4.6. Настройки модификатора Bevel (Выдавливание со скосом) Результатом действия этих модификаторов на сплайн является поверхность, созданная сечением выбранной сплайновой формы. Разница между этими модификаторами заключается в том, что при использовании Bevel (Выдавливание со скосом) можно дополнительно управлять величиной скоса выдавливаемых граней. Кроме того, модификатор Bevel (Выдавливание со скосом) позволяет применять трехуровневое выдавливание, с помощью которого можно придавать красивую форму краям выдавленной фигуры. На рис. 4.6 показаны настройки модификатора Bevel (Выдавливание со скосом). Особенно удобно использовать модификаторы Extrude (Выдавливание) и Bevel (Выдавливание со скосом) при разработке логотипов и работе с объемным текстом. Если в окне проекции создать сплайновую форму Text (Текст), а затем применить к ней один из модификаторов выдавливания, получится объемная надпись. С ней можно работать, как и с любым другим трехмерным объектом (рис. 4.7). Если немного пофантазировать, то можно найти немало способов 78 использования объемного текста в трехмерных сценах: от вывески при входе в магазин до елочных украшений. Рис. 4.7. Объемный текст, созданный с помощью выдавливания Главной настройкой модификаторов Extrude (Выдавливание) и Bevel (Выдавливание со скосом) является амплитуда выдавливания. Для модификатора Bevel (Выдавливание со скосом) — это параметр Height (Высота), а для Extrude (Выдавливание) — Amount (Величина). Величину скоса задает параметр Outline (Масштаб). Еще один модификатор, применяющийся для выдавливания, — Bevel Profile (Выдавливание со скосом по заданному профилю). Он действует на сплайн аналогично Bevel (Выдавливание со скосом) с той лишь разницей, что в его настройках необходимо указывать трехмерную кривую, вдоль которой будет выдавливаться сплайн (рис. 4.8). Модификатор Extrude (Выдавливание) имеет несколько меньшие возможности по сравнению с Bevel Profile (Выдавливание со скосом по заданному профилю), однако разработчики трехмерной графики очень часто используют Extrude (Выдавливание). В частности, с его помощью удобно создавать геометрию помещений, моделируя сложные коридоры. 79 Рис. 4.8. Настройки модификатора Bevel Profile (Выдавливание со скосом по заданному профилю) 2. Моделирование на основе сеток или многоугольников. При моделировании на основе сеток (называемом также моделированием на основе многоугольников) трехмерные объекты формируются из множества трех- или четырехсторонних многоугольников, объединяемых вместе и образующих в итоге оболочку объекта. Сетчатые оболочки обычно создаются на базе трехмерных объектов-примитивов, которые объединяются, преобразуются и модифицируются таким образом, чтобы сформировать объект требуемой конфигурации. Строго говоря, оболочка объектов, полученных методом выдавливания сплайнов или построенных по опорным сечениям- сплайнам, также представляет собой сетку с многоугольными ячейками, формируемую автоматически в процессе преобразования сплайнов в трехмерные объекты. Составные части сеток Сетчатые оболочки, как и сплайны, состоят из более мелких составных частей, или подобъектов, таких как вершины, ребра и грани. Наличие подобъектов, каждый из которых можно редактировать, обеспечивает высокую точность управления формой сетчатых оболочек. Вершины Самым простым подобъектом сетки является вершина. В отличие от вершин сплайнов, вершины сетки с многоугольными ячейками не имеют касательных векторов. В связи с этим вершины ячеек сетки можно только перемещать, масштабировать, добавлять или удалять. Правка на уровне вершин обеспечивает точный контроль над положением отдельных узловых точек сетки, позволяя придать оболочке необходимую форму. 80 Ребра Пары вершин сетки соединяются ребрами граней. Итак, ребро (edge) - это линия, соединяющая две вершины сетки и являющаяся одновременно стороной четырехугольной или треугольной грани. Четырехугольные и треугольные грани являются элементарными ячейками, образующими в совокупности сетчатую оболочку объекта. Грани Вершины и исходящие из них ребра разбивают оболочку объекта на грани. Грань (face) - это участок плоскости треугольной или четырехугольной формы, являющийся элементарной ячейкой поверхности, допускающей визуализацию в МАХ. Иногда грани называют многоугольниками, отсюда и происходит название "моделирование на основе многоугольников". Как уже указывалось, МАХ поддерживает два типа граней: треугольные и четырехугольные. Треугольная грань ограничена тремя ребрами, а четырехугольная - четырьмя. Поскольку грани являются плоскими, моделирование гладких криволинейных поверхностей, наподобие поверхности сферы, требует наличия множества граней, если не используются методы сглаживания. Сглаживание Сглаживание (smoothing) - это производимый на этапе визуализации процесс замены резких перепадов окраски граней плавными переходами оттенков цвета. МАХ автоматически выполняет сглаживание граней поверхностей большинства объектов, но можно применить сглаживание к отдельным группам граней и вручную. Сегменты К объектам на основе сеток с многоугольными ячейками, так же как и к сплайнам, применяют понятие сегментов, но в данном случае под сегментами понимают количество частей, на которые разбиваются ребра между вершинами. Сегменты сеток служат для увеличения детальности моделирования в различных ситуациях. Например, невозможно качественно выполнить изгиб объекта - параллелепипеда, применив модификатор изгиба, если не увеличить в достаточной степени число сегментов сетки этого объекта. Стандартный параллелепипед (Box) не имеет достаточного числа сегментов, чтобы обеспечить требуемую детальность результата операции изгиба. Разумеется, увеличение числа сегментов ведет к росту числа вершин, ребер и граней объекта, делая его более сложным по конструкции и увеличивая время работы с ним. Моделирование на основе сеток с многоугольными ячейками - достаточно производительный и в то же время простой в использовании метод. Но он имеет и свои ограничения. Поверхности объектов живой природы, такие как человеческое лицо или тело практически любого живого существа, с большим трудом поддаются моделированию на основе сеток с многоугольными ячейками. В тех случаях, когда данный метод не позволяет решить задачу, следует попробовать 81 применить иные способы моделирования, чтобы достичь искомого результата проще и быстрее. 3. Параметрическое моделирование Параметрическое моделирование - это мощный метод моделирования, при котором все характеристики объектов задаются числовыми параметрами и могут быть откорректированы или подвергнуты анимации на любом этапе работы. Например, вместо того чтобы "на глазок" производить какое-либо преобразование объекта, наподобие масштабирования, можно просто откорректировать параметры размера объекта с любой необходимой точностью. Параметрическое моделирование применимо к сплайнам, сеткам с многоугольными ячейками и другим типам геометрических моделей. Создавая, к примеру, в программе МАХ объект Box (Параллелепипед), вы получаете доступ к значениям параметров его длины, ширины и высоты, которые можно анимировать. Кроме того имеются три счетчика числа сегментов, с помощью которых можно управлять детальностью объекта по каждой из координат. Во многих анимационных программах задача изменения формы прямоугольного блока во времени решается за счет многократного применения к нему преобразования масштаба. В МАХ также можно решить подобную задачу, но делается это простой анимацией параметров длины, ширины и высоты. Итак, параметрическое моделирование является предельно мощным методом, а его достоинства наилучшим образом проявляются, когда требуется выполнить анимацию характерных параметров объектов, включая и параметры примененных к объекту модификаторов. Но и параметрическое моделирование все же не решает таких сложных задач, как воспроизведение черт человеческого лица. Это та область, где главное слово принадлежит методам моделирования на основе лоскутов поверхностей Безье и неоднородных рациональных В-сплайнов (NURBS). 4. Моделирование на базе поверхностей Безье Моделирование на основе лоскутов поверхностей Безье - это метод, вобравший в себя многие принципы управления формой сплайнов с помощью касательных векторов. Лоскут (patch) поверхности Безье состоит из двух частей: собственно поверхности и решетки деформации. Решетка деформации {deformation lattice) в свою очередь является совокупностью связанных между собой управляющих точек, окружающих поверхность лоскута Безье. Каждая точка решетки деформации управляет формой прилегающего к ней участка поверхности лоскута. В связи с этим перемещение всего лишь одной управляющей точки решетки деформации влияет на форму целого участка поверхности, в отличие от деформации, происходящей при перемещении одной вершины сетки с многоугольными ячейками. Уникальные свойства лоскутов Безье определяются тем, что узловые точки решетки деформации ведут себя аналогично касательным векторам сплайнов. Перемещение управляющей точки деформирует поверхность так, что линия сечения поверхности представляет собой сплайн, а не обычную кривую. 82 Элементарные объекты лоскутов Безье Как и все объекты МАХ, поверхности Безье имеют свои подобъекты, к которым относятся вершины, ребра и собственно лоскуты. Кроме того, в состав лоскута Безье входит решетка деформации. В процессе правки лоскута Безье на уровне подобъектов воздействию подвергаются или решетка деформации, или непосредственно элементы поверхности. Вершины лоскута Безье - это управляющие точки решетки деформации. За счет корректировки их положения изменяется кривизна поверхности. Подобно вершинам сплайнов, угловые вершины лоскута Безье снабжены независимо перемещаемыми векторами, касательными к поверхности, что позволяет воздействовать на кривизну поверхности при входе в вершину и выходе из нее. Моделирование на основе лоскутов Безье подобно лепке предметов из глины. Сначала вы создаете одну-две сетки лоскутов Безье, которые будут составлять основу объекта. Затем производите манипуляции с управляющими точками, выпячивая и вдавливая отдельные участки сеток и добиваясь получения нужной формы. Но даже моделирование на основе лоскутов Безье, при всей его гибкости, имеет ограничения. Так, например, при использовании данного метода довольно трудно выравнивать края лоскутов для их стыковки друг с другом. Кроме того, невозможно без дополнительных усилий создать переходную поверхность между двумя сетками лоскутов Безье. В подобных ситуациях может пригодиться моделирование на основе неоднородных рациональных В- сплайнов. 5. Моделирование на основе неоднородных рациональных В-сплайнов Моделирование на основе неоднородных рациональных В-сплайнов (Non- Uniform Rational B-Spline - NURBS) является, вероятно, самым мощным из всех известных на сегодня методов моделирования поверхностей сложной формы. Работая с NURBS-поверхностями, можно пользоваться двумя базовыми подходами к моделированию. Первый состоит в создании NURBS-сплайнов и поверхностей на их основе. Второй заключается в создании NURBS- поверхностей с последующей корректировкой их формы или созданием плавных переходов между ними. Кривые типа NURBS Кривые типа NURBS создаются или на основе контрольных точек, или на основе управляющих вершин. Разница между этими двумя подходами состоит в том, как кривая располагается относительно точек или вершин. При использовании контрольных точек кривая проходит непосредственно через них. При использовании же управляющих вершин (control vertices - CV) кривая плавно изгибается между этими точками, играющими роль узлов решетки деформации. Кривые, создаваемые на основе управляющих вершин, обладают рядом преимуществ по сравнению с кривыми, построенными по контрольным точкам. CV-кривая, плавно изгибаясь, проходит между точками управляющих вершин, 83 а ее формой удобно управлять с помощью касательных векторов, исходящих из управляющих вершин. Кроме того, управляющим вершинам можно назначать весовые коэффициенты. Чем выше "вес" вершины, тем ближе к ней будет проходить кривая типа NURBS. При этом значение имеет не абсолютная, а относительная величина весовых коэффициентов отдельных вершин. Таким образом, если весовые коэффициенты всех вершин имели значение 1, а вы изменили их все на 2, то форма кривой не изменится. Но если изменить величину одного из весовых коэффициентов по сравнению с остальными, то кривая примет иную форму. Подобно сплайнам кривые типа NURBS могут использоваться в качестве двумерных форм, причем в состав одной формы может входить несколько кривых. Формы типа NURBS используются затем для создания NURBS- поверхностей. Поверхности типа NURBS Последним типом объектов, основанных на неоднородных рациональных В- сплайнах, который нам предстоит рассмотреть, являются NURBS-поверхности. Как и в случае с кривыми типа NURBS, имеются две разновидности поверхностей: • с управляющими вершинами • с контрольными точками. Поверхность с контрольными точками проходит через каждую из этих точек, а для поверхности с управляющими вершинами эти вершины образуют решетку деформации, подобную решетке лоскутов Безье. Отличие от лоскута Безье становится очевидным в процессе изменения формы поверхности за счет перемещения управляющих вершин. При деформации лоскута Безье используется принцип сплайновой аппроксимации поверхности. Хотя поверхность и получается при этом довольно гладкой, тем не менее, это всего лишь приближенная аппроксимация требуемой формы. NURBS-поверхности деформируются лучше и позволяют более точно воспроизвести нужную форму объекта. На рис.7 приведен пример NURBS-поверхности, использующей управляющие вершины. NURBS-объекты совершенно отличаются от остальных объектов МАХ в вопросе представления поверхностей и управления ими. Оболочки NURBS- объектов не состоят из треугольных или четырехугольных граней, а являются действительно криволинейными поверхностями, описываемыми как неоднородные рациональные В-сплайны. Поэтому, чтобы МАХ мог выполнить визуализацию таких поверхностей, они должны быть преобразованы в сетку. Такой процесс называется аппроксимацией поверхности. К счастью, МАХ производит эту аппроксимацию прямо во время визуализации.Все, что требуется от вас, - это задать способ аппроксимации и величины параметров. Возможность данного выбора позволяет при необходимости производить более точную аппроксимацию поверхности. Итак, неоднородные рациональные В-сплайны требуют иного подхода к моделированию объектов, чем метод сплайнов или сеток с многоугольными ячейками. В случае использования сеток и сплайнов вы создаете базовые 84 объекты, а затем деформируете их, преобразуя в новые объекты. Применяя неоднородные рациональные В-сплайны, вы можете создавать новые поверхности методом перетекания от одних NURBS-поверхностей к другим или от одной NURBS-кривой к другой. 6. Выбор подхода к моделированию Итак, МАХ предоставляет вам целый ряд методов моделирования, обеспечивающих возможность применения программы в самых разных областях. Моделирование на основе сплайнов. Этот метод отлично подходит для создания объектов, форма или сечение которых таковы, что эти объекты могут быть легко воспроизведены методами выдавливания, вращения профиля или построения оболочки по опорным сечениям. Как правило, это симметричные объекты простой формы, примерами которых могут служить бананы, бутылки, телефонные трубки, бокалы для вина, тарелки и т. п. Моделирование на основе сеток с многоугольными ячейками. Этот способ лучше всего подходит для создания объектов, которые состоят в основном из плоских поверхностей и не относятся к числу объектов живой природы. Примерами подобных объектов являются здания, упрощенные фигурки людей, космические корабли и станции, развязки дорог и многие другие объекты. Моделирование на основе лоскутов поверхностей Безье. Используется данный способ для моделирования объектов живой природы, воспроизведение формы которых требует точного управления кривизной поверхности. Примерами объектов, при моделировании которых данный метод дает хорошие результаты, являются человеческие лица и тела, фигуры животных и т. п. Моделирование на основе неоднородных рациональных В-сплайнов (NURBS). Этот метод используется для имитации поверхностей объектов, принадлежащих к живой природе, или иных объектов с сильно или сложным образом искривленными поверхностями. Примерами таких объектов могут служить автомобили, лица людей и другие поверхности сложной формы. Моделирование иногда представляет собой довольно сложный процесс, даже в такой мощной программе, как МАХ. К счастью, МАХ предоставляет много различных методов моделирования, так что имеется широкая возможность выбора. При использовании любого метода модели объектов состоят из более мелких подобъектов, таких как вершины, ребра и грани. |