Сеточные модели
Основы сеточного моделирования
3D Studio MAX поддерживает много различных вариантов создания моделей (то есть моделирования). В их числе и сеточное моделирование, представляющее собой моделирование на уровне подобъектов: вершин, ребер, граней и полигонов. Подобъекты можно вытягивать, масштабировать, вращать, деформировать, удалять, объединять, добавлять; можно применять к ним множество других операций, изменяя таким образом исходный объект до полной неузнаваемости. Результатом подобных манипуляций могут быть совершенно разные трехмерные тела — от абстрактных объектов до полностью реальных моделей. Данный прием моделирования может быть применен к разным объектам 3D Studio MAX, однако пока мы знакомы лишь с примитивами, поэтому и приемы сеточного моделирования будем осваивать именно на них. Сразу отметим, что возможности сеточного моделирования гораздо шире, чем удастся рассмотреть в данном уроке. К этой теме мы в дальнейшем будем неоднократно возвращаться, но на более высоком уровне.
Теоретические аспекты
Любой параметрический трехмерный объект, созданный на основе примитива, может быть преобразован в объект типа Editable Mesh (Редактируемая сетка) или Editable Poly (Редактируемая полисетка). Такой объект перестает быть параметрическим и в дальнейшем будет модифицироваться как сетка, то есть на уровне вершин, ребер, граней и полигонов.
К объектам типа Editable Mesh относятся геометрические модели трехмерных тел, представленных оболочками в виде сеток с треугольными ячейками. Объекты типа Editable Poly отличаются от редактируемых сеток тем, что их оболочки состоят не из треугольных граней, а из полигонов. Полигоны представляют собой многоугольники, у которых имеются как минимум четыре вершины, и заменяют совокупность двух или более смежных треугольных граней, лежащих в одной плоскости. Поэтому и сетку, составленную из полигонов, в отличие от сетки, составленной из треугольных граней, называют полигональной сеткой, или полисеткой.
Многие возможности редактирования объектов Editable Poly и Editable Mesh аналогичны, однако имеются и различия. Редактирование объектов типа Editable Mesh возможно на уровне вершин, ребер, граней, полигонов и элементов, а тип Editable Poly позволяет работать с вершинами, ребрами, полигонами, элементами и границами. Многие операции на первый взгляд совершенно аналогичны для обоих типов объектов, например операции Extrude и Bevel, но требуют разной настройки и зачастую приводят к различным результатам. Кроме того, полигональные сетки, в сравнении с обычными сетками Editable Mesh, обладают рядом дополнительных свойств, в частности допускают сглаживание без использования таких специальных модификаторов, как MeshSmooth (Сглаживание сетки). Напомним, что модификаторы предназначены для модификации объектов и становятся доступными после активизации панели Modify (Изменение).
Типы подобъектов и принцип их редактирования
Как уже было сказано, значительная часть объектов 3D Studio MAX может быть представлена в виде сеток, состоящих из однотипных элементов или подобъектов, к числу которых относятся вершины, ребра, грани и полигоны (рис. 1). Предназначенные для работы с ними средства скомпонованы по уровням: Vertex, Edge, Face, Polygon, Element и Border (рис. 2 и 3).
Рис. 1. Подобъекты
Рис. 2. Уровни Editable Mesh
Рис. 3. Уровни Editable Poly
Вершины — это точки, в которых сходится и соединяется друг с другом любое число ребер. Для работы с вершинами предназначен уровень Vertex (Вершина).
Ребра — это линии границы грани. Ребра могут быть видимыми, если соседние грани не лежат в одной плоскости (тогда они отображаются сплошными линиями), или невидимыми; по запросу пользователя невидимые ребра могут отображаться пунктирной линией. За управление видимостью и положением ребер отвечает уровень Edge (Ребро).
Грани — это участки плоскости треугольной формы, представляющие собой элементарные ячейки сетки. В одной плоскости объекта может находиться множество граней, которые внешне будут совершенно неразличимы. Для работы с гранями предназначен уровень Face (Грань).
Смежные грани, лежащие в одной плоскости, могут быть объединены в многоугольники-полигоны. В случае преобразования объекта к типу Editable Poly процесс формирования полигонов из граней осуществляется автоматически. В обычной сетке полигон — это просто подобъект, позволяющий выделить сразу все смежные грани, лежащие в одной плоскости. У полигональной сетки нет таких подобъектов, как грани, и вся она состоит только из полигонов, причем некоторые полигоны могут быть и треугольными. За работу с полигонами отвечает уровень Polygon (Многоугольник).
Кроме того, сеточные объекты могут редактироваться на уровне Element (Элемент), который используется для работы с группами граней, объединенными в элемент каркаса, а объекты типа Editable Poly — и на уровне Border (Граница), что удобно, например, при вдавливании границ.
Редактирование сетчатых объектов можно производить как на уровне объекта в целом, так и на уровне подобъектов: граней, ребер или вершин. Чтобы объект стал редактируемым на уровне подобъектов и превратился в редактируемую сетку, необходимо выделить его и выбрать из контекстного меню команду Convert to=>Convert to Editable Mesh (Конвертировать=>Конвертировать в режим редактирования сетки); можно также применить к объекту модификатор Edit Mesh (Редактирование сетки). Для преобразования объекта к типу Editable Poly из контекстного меню выбирается команда Convert to=>Convert to Editable Poly (Конвертировать=>Конвертировать в режим редактирования полисетки). В обоих случаях это приведет к появлению на панели Modify целой серии свитков:
- Selection (Выделение) — отвечает за включение нужного подобъектного уровня и управление режимами выбора подобъектов;
- Soft Selection (Мягкое выделение) — предназначен для расширения возможностей выделения подобъектов и определяет закон распространения трансформаций по объему редактируемого каркаса;
- Edit Geometry (Редактировать геометрию) — содержит основные инструменты изменения геометрии подобъектов. Некоторые инструменты одинаковы для всех уровней и для обоих типов сеток, а другие являются особыми для каждого уровня (и/или сетки). В перечень общих инструментов входят, в частности, следующие:
— Attach (Присоединить) — позволяет добавлять к редактируемой модели новые каркасные объекты, при этом все грани присоединяемого объекта оказываются объединенными в новый элемент,
— Detach (Отсоединить) — отвечает за отделение выбранного подобъекта в отдельный элемент или новый объект,
— Remove Isolated Vertices (Удалить изолированные вершины) — позволяет удалять отдельно расположенные вершины объекта,
— View Align и Grid Align (Ориентировать по текущему виду/Ориентировать по сетке) — осуществляет соответствующее изменение ориентации выбранных подобъектов,
— Make Planar (Привести к плоскости) — устанавливает плоскостную ориентацию для выбранных подобъектов,
— Collapse (Свести в точку) — выполняет коллапс (сжатие) и объединение всех вершин выбранных подобъектов в одну, располагая ее в геометрическом центре выделенной области;
- Surface Properties (Свойства поверхности) — объединяет такие инструменты настройки свойств поверхности, которые предназначены для каждого уровня.
Выбор нужного уровня подобъектов осуществляется либо подсвечиванием уровня в списках подобъектов Editable Mesh или Editable Poly, либо щелчком по соответствующей кнопке в свитке Selection панели Modify. Для выбора самих подобъектов используются обычные инструменты выделения: Select Object (Выделить объект), Select and Move (Выделить и передвинуть), Select and Scale (Выделить и масштабировать), Select and Rotate (Выделить и повернуть) и Selection Region (Форма области выделения). Чтобы последовательно выделить несколько объектов, при выделении удерживают клавишу Ctrl.
Для того чтобы вернуться от редактирования объекта на уровне подобъектов к обычному редактированию, нужно подсветить в списке подобъектов уровень Editable Mesh или Editable Poly.
Моделирование при помощи вершин
Вершины являются основным элементом редактирования сетки — достаточно нескольких манипуляций с вершинами, чтобы превратить стандартный примитив в совершенно другой объект.
Для примера создайте примитив Box (Коробка), установив для него длину (Length) и ширину (Width) равными 30, а высоту (Height) равной 40 (рис. 4), и сохраните объект в файле. Не снимая выделения, установите режим, в котором возможно редактирование вершины, выбрав из контекстного меню команду Convert to=>Convert to Editable Mesh (Конвертировать=>Конвертировать в режим редактирования сетки). Чтобы получить возможность манипуляции вершинами, щелкните в свитке Selection на кнопке Vertex (рис. 5).
Рис. 4. Исходный объект
Рис. 5. Исходный объект в режиме Editable Mesh — выделены вершины
Активизируйте инструмент Select and Move (Выделить и переместить) и последовательно перетащите вершины его основания так, чтобы параллелепипед превратился в усеченную пирамиду. Обратите внимание, что лучше всего начать перемещение вершин в окне проекций Perspective, так как во всех остальных проекциях вершины нижнего основания у параллелепипеда скрыты под верхними вершинами. А затем перейдите в окно проекции Top, что позволит обеспечить более точное положение вершин (рис. 6). Не забывайте, что для более точного перемещения вершин, равно как и объектов, можно напрямую указывать координаты их нового положения в нижней части окна программы. При желании можно перемещать одновременно сразу несколько вершин — в этом случае после выделения вершины довольно часто блокируют, щелкнув на кнопке Selection Lock Toggle (Переключатель блокировки выделения), которая тут же окрасится в желтый цвет. Блокировка сохраняет выделенную область при любых манипуляциях в программе, а разблокировка происходит в результате повторного щелчка по этой же кнопке.
Рис. 6. Результат перемещения вершин основания
Вершины можно не только перемещать, но и поворачивать инструментом Select and Rotate (рис. 7) или масштабировать инструментом Select and Uniform Scale (рис. 8). А можно свести выделенные вершины в одну точку, щелкнув на кнопке Collapse (Свести в точку) на панели Modify в свитке Edit Geometry (рис. 9).
Рис. 7. Поворот вершин верхнего основания усеченной пирамиды
Рис. 8. Масштабирование вершин верхнего основания усеченной пирамиды
Рис. 9. Результат сведения вершин в одну точку