Сеточные модели

Основы сеточного моделирования

 

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. Подобъекты

Рис. 1. Подобъекты

Рис. 2. Уровни Editable Mesh

Рис. 3. Уровни Editable Poly

Рис. 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. Исходный объект

Рис. 4. Исходный объект

Рис. 5. Исходный объект в режиме Editable Mesh — выделены вершины

Рис. 5. Исходный объект в режиме Editable Mesh — выделены вершины

Активизируйте инструмент Select and Move (Выделить и переместить) и последовательно перетащите вершины его основания так, чтобы параллелепипед превратился в усеченную пирамиду. Обратите внимание, что лучше всего начать перемещение вершин в окне проекций Perspective, так как во всех остальных проекциях вершины нижнего основания у параллелепипеда скрыты под верхними вершинами. А затем перейдите в окно проекции Top, что позволит обеспечить более точное положение вершин (рис. 6). Не забывайте, что для более точного перемещения вершин, равно как и объектов, можно напрямую указывать координаты их нового положения в нижней части окна программы. При желании можно перемещать одновременно сразу несколько вершин — в этом случае после выделения вершины довольно часто блокируют, щелкнув на кнопке Selection Lock Toggle (Переключатель блокировки выделения), которая тут же окрасится в желтый цвет. Блокировка сохраняет выделенную область при любых манипуляциях в программе, а разблокировка происходит в результате повторного щелчка по этой же кнопке.

 

Рис. 6. Результат перемещения вершин основания

Рис. 6. Результат перемещения вершин основания

Вершины можно не только перемещать, но и поворачивать инструментом Select and Rotate (рис. 7) или масштабировать инструментом Select and Uniform Scale (рис. 8). А можно свести выделенные вершины в одну точку, щелкнув на кнопке Collapse (Свести в точку) на панели Modify в свитке Edit Geometry (рис. 9).

 

Рис. 7. Поворот вершин верхнего основания усеченной пирамиды

Рис. 7. Поворот вершин верхнего основания усеченной пирамиды

Рис. 8. Масштабирование вершин верхнего основания усеченной пирамиды

Рис. 8. Масштабирование вершин верхнего основания усеченной пирамиды

Рис. 9. Результат сведения вершин в одну точку

Рис. 9. Результат сведения вершин в одну точку