Переходим к полигональному моделированию. Полигональное моделирование (polygonal modeling) — это самая первая разновидность трёхмерного моделирования, которая появилась в те времена, когда для определения точек в трёхмерном пространстве приходилось вводить вручную с клавиатуры координаты X, Y и Z. Как известно, если три или более точек координат заданы в качестве вершин и соединены рёбрами, то они формируют многоугольник (полигон), который может иметь цвет и текстуру. Соединение группы таких полигонов позволяет смоделировать практически любой объект. Недостаток полигонального моделирования состоит в том, что все объекты должны состоять из крошечных плоских поверхностей, а полигоны должны иметь очень малый размер, иначе края объекта будут иметь огранённый вид. Это означает, что если для объекта на сцене предполагается увеличение, его необходимо моделировать с большим количеством полигонов (плотностью) даже несмотря на то, что большинство из них будут лишними при удалении от объекта.
Таким образом, при полигональном моделировании, работают с одним объектом, редактируя его полигоны, вертексы и ребра так, чтобы добиться нужной формы. В программе 3D Max для полигонального моделирования используют модификатор Edit Poly.
Приступаем к работе.
Выделяем сделанную основу стен и применяем к ней модификатор Edit Poly.
Слева откроется рабочая область, которой мы и будем пользоваться на уровне полигонального моделирования, её инструменты будут изменяться в зависимости от выделенной части объекта (полигон, вертекс, ребро) (рис 2). Справа панель для выбора и настройки частей объекта (рис 3):
1. Vertex – Вертекс\Точка
2. Edge - Ребро
3. Border – незакрытые ребра, внутри которых отсутствует полигон
4. Polygon – Полигон (плоскость, которая строится на основе замкнутых рёбер)
5. Element – Элементы объекта
(рис 2) (рис 3)
Задача в том, чтобы сделать в стенах отверстия для окон и дверей.
Чтобы «вырезать» те части, на месте которых должны стоять окна, необходимо создать на этом месте полигоны соответствующего размера.
Полигоны основываются на точках, соединенных ребрами в замкнутую фигуру. Стандартно, по правилам топологии в моделировании, нужно следить, чтобы полигоны объекта получались либо прямоугольными, либо треугольными (рис 4). В противном случае, фигура, при использовании на ней различных модификаторов может «сломаться» и иметь неправильные формы. Очень важно следить за сеткой.
(рис 4)
Для создания новых вертексов и рёбер на стенах, используем Swift Loop, этот инструмент «разрезает» объект, создавая на месте разреза ребра и на пересечении рёбер – вертексы.
Создадим разрезы для трёх окон по вертикали, не обязательно делать это точно, так как далее, с помощью привязки мы поправим положение рёбер так, чтобы размеры окон соответствовали действительности.
Теперь, нужно выровнять эти ребра так, чтобы не было скосов влево и вправо, как получилось сейчас.
Включаем режим рёбер, для этого нажимаем на Edge, или цифру 2 на клавиатуре.
Выделяем двойным кликом всю окружность ребер.
Далее выравниваем ребро по оси Х, нажав в разделе Align “x”
Ребро выровняется. Таком образом, нужно выровнять все рёбра, сделанные ранее инструментом Swift Loop. В результате получится:
Включим инструмент привязки для того, чтобы спозиционировать ребра в нужных местах. Нажимаем на кнопку «Snaps Toggle», чтобы она подсветилась.
Кликнув по ней правой кнопкой мыши, можно настроить инструмент привязки. Стандартно привязка настроена на привязку к глобальной сетке программы. Нам необходимо настроить привязку к вертексам. Выбираем Vertex, все остальные галочки снимаем и просто закрываем это окно.
Выделяем двойным кликом окружное ребро и по оси X перетягиваем его, привязываясь к верхней ближней точке угла.
Теперь нужно в параметре оси X, не снимая выделения с ребра, прибавить то значение, на которое нужно сдвинуть ребро.
В оси X, к тому значению, которое написано в координате
(эти значения могут отличаться от указанного в примере, так как это зависит от расположения объектов в пространстве)
Добавим число 1000 и впишем новое значение, не изменяя числа после запятой (обратим внимание, что сейчас ось X направлена вправо, ребро будем сдвигать вправо, значит, при смещении вправо координата будет увеличиваться:
Выделяем следующее ребро и привязываем его по оси X к верней точке ребра
Ребра должны «лежать» друг на друге. Не снимая выделения с ребра, в координате X прибавляем значение 2100 (стандартная ширина окна)
Выделяем следующее ребро и привязываем его к только что установленному
Прибавляем в Х значение 1900
Для более удобного выравнивания точными значениями, можно переключиться на Offset mode и вписывать сразу необходимое число. Таким образом, объект, в данном случае, ребро, будет смещаться на указанное число по координате, с того места, где он установлен изначально.
Выравниваем следующее ребро
Указываем значение 2100
Может произойти такой случай, что ребро сдвинется правее соседнего и фигура почернеет «сломается»
Это происходит потому, что при смещении ребра правее соседнего, происходит наслоение фигуры. Такого быть никогда не должно. Но это просто исправить. Выделяем левое ребро, и привязываем к правому
Далее указываем значение 1900 и привязываем последнее ребро
Ему указываем значение 2100
Теперь для окон заданы необходимые размеры и их можно подвинуть к центру стены, чтобы выглядело аккуратнее. Чтобы это сделать. Удерживая Ctrl, кликаем дважды по каждому ребру, они все будут выделены
Теперь сдвигаем к центру, удерживая ось X. Только ось X, иначе можно некорректно сместить по другим осям, и фигура «сломается».
Создадим таким же способом вертикальный разрез для дверного проема. Выбираем инструмент Swift loop и делаем 2 разреза
Выравниваем ребра точно так же по оси х, чтобы они не были скошенными
Выбираем правое ребро и привязываем его к левому, далее задаем значение по оси х = 1470 (ширина дверного проема)
Вертикальные разрезы готовы, теперь перейдём к горизонтальным. Они делаются абсолютно по тому же принципу.
Берём модификатор Swift loop и ставим 2 произвольных горизонтальных разреза
Но разрезы появятся только на внутренней стене, потому нужно также сделать 2 разреза на внешней стене
Теперь их нужно выровнять, относительно высоты окна. Привязываем нижнее внешнее ребро к самой нижней точке стены
В оси Z вписываем значение 850
Выделяем верхнее внешнее ребро и привязываем к нижнему
Указываем в оси Z = 1500 (высота окна)
Далее нужно выровнять внутренние ребра. С помощью привязки, выравниваем их на один уровень с внешними.
«Разрезы» для окон готовы. Теперь сделаем разрез для двери.
Создадим произвольный разрез между верхним и нижним внешними ребрами, с помощью Swift loop
Выделяем только что созданное ребро двойным кликом. Далее переключаем функцию Offset mode на Absolute mode.
Заменяем в оси Z установленное значение на 2100
Привязываем внутреннее ребро к внешнему.
Разрезы для окон и дверей готовы. Теперь удалим лишние полигоны, чтобы сделать отверстия. Для этого переходим в режим полигонов
Теперь, удерживая Сtrl, кликаем по полигонам, которые нужно удалить. Они подсветятся красным
Нажимаем Delete и полигоны удалятся. Таким образом нужно удалить полигоны с обеих сторон стены, чтобы получились сквозные отверстия
Точно также удалим полигоны в проеме двери
Между внутренней стеной и внешней осталось незакрытое пространство. Его нужно закрывать вручную. Для этого переходим в режим Border
Выделяем, удерживая Ctrl внешнюю границу и внутреннюю
Используем инструмент Bridge, он создаст полигоны между выделенными границами. Эти полигоны строятся как своеобразный «мост», между «берегами» (границами).
И так, с каждым вырезанным отверстием.
В итоге получаем готовую основу стен.