Как сделать из сплайна полигон

Обновлено: 07.07.2024

Итак, сегодня мы начнем довольно сложный урок для новичков, и в этой его части обратим внимание главным образом на полигональное моделирование. Общей задачей является создание качественной модели энергосберегающей лампочки. Точнее, нескольких. Находим в Интернете любую фотографию, которую мы возьмем в качестве прототипа. В моем случае я нашел изображение, включающее много моделей, которые в основном отличаются конструкторским дизайном люминесцентной лампы. В остальном: цоколь и электронный блок (ЭПРА — электронный пускорегулирующий аппарат) везде фактически идентичны. В этой части урока мы будем создавать только цоколь.

Причем стоит отметить, что задание взято не из-за частоты заказов на подобные модели, а в силу удобства демонстрации ключевых приемов. Ведь главной задачей является обучение непосредственно моделированию.

Цоколь — самый сложный элемент

Самым сложным элементом с точки зрения моделирования является цоколь, точнее, качественная реализация его поверхности с резьбой. Сама резьба должна плавно переходить в цилиндрические поверхности сверху и снизу — в этом основная трудность реализации.

В принципе, в Интернете вы можете найти некоторые уроки по созданию лампочек, где нередко объясняется, как делать цоколь, при этом в них изначально создается поверхность со спиральным расположением полигонов, после чего выделяются и выдавливаются грани и т.п. Это очень трудоемко. Но я вам сейчас покажу свой метод, который считаю более быстрым и понятным.

Фотографии прототипов берем из Интернета

Поверхность резьбы

Теперь копируем этот объект, добавляем новый (Ctrl+C/Ctrl+V), в котором меняем координату по Y на 40. Вообще, в данном случае нужно посмотреть на фотографию прототипа и посчитать, сколько там витков. В моем случае 4. То есть я добавляю таким же образом еще два витка.

Теперь нужно сделать следующие действия:
1. Объединить четыре поверхности в одну.
2. Оптимизировать получившуюся поверхность.

Аккуратно составляем резьбу из витков, после чего объединяем (Connect) их в один объект и оптимизируем его, удалив двойные точки (Function -> Optimization)

Объединение происходит следующим образом: выделяем четыре витка в менеджере объектов (удерживая Ctrl или Shift), затем нажимаем правую кнопку мыши и в контекстном меню выбираем вариант Connect (он же доступен через главное меню Function -> Connect). Нажимаем. В результате в менеджере появится итоговый пятый объект, а предыдущие четыре уже можно удалить.

Что нам нужно в плане оптимизации? Объясню простым языком: при совмещении витков в местах их соединения мы получили много двойных точек, каждые из которых раньше принадлежали своим поверхностям, а в данном случае только помешают. Поэтому в главном меню программы выбираем Function -> Optimization, в результате чего появится окно запроса оптимизации точек/граней/полигонов с предлагаемым вариантом погрешности (Tolerance). В данном случае просто нажимаем ОК. Произошедшие изменения вы сможете заметить по закраске получившейся поверхности, то есть в ней уже будут отсутствовать затемненные участки.

Все, поверхность резьбы готова, точнее, низкополигональный шаблон для нее.

Объединив цилиндр и резьбу в единую поверхность, начинаем совмещать точки

Поверхность цоколя

Затем объединяем обе поверхности (цилиндра и резьбы) в одну с помощью операции Connect. То есть выделяем их в менеджере объектов, нажимаем правую кнопку мыши и в появившемся контекстном меню выбираем вариант Connect. В результате в менеджере появится третий объект, предыдущие два можно удалять.

Смотрим на то, что получилось. Поверхность вроде одна, но она не соединена. Что мы будем делать? Давайте совместим нижние точки цилиндра с верхними нашей резьбы. Сделать это с помощью оптимизации практически невозможно, потому как большие расстояния. Придется поработать руками, кстати, именно поэтому удобнее изначально плясать от низкополигональных вариантов.

Итак, несложно заметить, что 16 верхним точкам резьбы соответствуют 16 нижних точек цилиндра, то есть одна расположена над другой. Переключаемся в режим работы с вершинами в левом боковом меню быстрого доступа. А также укрупняем масштаб и для удобства входим внутрь нашей поверхности в окне перспективного просмотра.

Закрытие полигона Structure -> Create Polygon Hole

Теперь наступил черед изменения формы цилиндра, которая несколько расширяется при переходе к электронному блоку нашей лампы. Для этого переходим в режим работы с гранями (ребрами) в левом боковом меню быстрого доступа и, удерживая Shift, выделяем все верхние грани нашего цилиндра. Если случайно добавится ненужная грань, то ее выделение для группы можно отменить при нажатии на нее указателем мыши с удерживанием клавиши Ctrl. После этого можем использовать инструменты смещения (Move) и увеличения/уменьшения (Scale), в общем, подгоняем форму по нашему усмотрению. Нижний цилиндр добавляется идентично верхнему. Хотя для упрощения ситуации вы можете создать эту часть проще — как несколько окружностей- сплайнов, соединенных с помощью Loft (как мы это делали с резьбой). В этом случае вам не нужно будет возиться с отливкой формы, все, что потребуется в итоге — это соединить точки с помощью Weld. В принципе, так же можно было сделать и верхний цилиндр, но напомню, что мы учимся моделированию во всех его проявлениях.

Hyper NURBS

Переход от низкополигонального представления к высокополигональным формам осуществляется за счет использования специального модификатора Hyper NURBS. Он увеличивает количество полигонов и сглаживает форму как таковую. Для того чтобы посмотреть, как он работает, вызовем его и поместим как дочернюю к нему нашу поверхность цоколя в менеджере объектов, результат не заставит себя ждать. Основная часть цоколя готова, но не совсем.

Создав поверхность на низкополигональном уровне, выходим на высокополигональный с помощью модификатора Hyper NURBS

Добавление других элементов цоколя

В нижней части цоколя находятся два элемента — изоляция и контакт. Делаем их. Первый — это конус. Помещаем его в рабочую область, изменяем настройки:
. Top Radius (радиус вершины) — 75 м.
. Orientation — -Y (то есть перевернем).
. В закладке Caps делаем активным указатель Top (скругленная крышка), настраиваем радиус скругления.

Второй элемент, чтобы долго не усердствовать, мы сделаем из первого, скопировав, добавив в проект и уменьшив по размерам с помощью инструмента Scale (уменьшение/увеличение).

Готовый цоколь

Теперь можно сказать, что цоколь готов.

Компьютерная газета. Статья была опубликована в номере 09 за 2011 год в рубрике soft

Пред тем как приступить к моделированию, нужно понять какие имеются способы работы с примитивами и объектами.
Работать с геометрией будем в режимах Editable Poly (Edit Poly), немного реже Editable Mesh (Edit Mesh).
Редактировать двумерные объекты и примитивы - сплайны будем редактировать в режимах Editable Spline (Edit Spline).
Эти уроки показывают основные команды в различных режимах редактирования. Сейчас необходимо услышать терминологию, чтобы в дальнейшем было легче ориентироваться в переходах из одного режима редактирования в другой.

Edit Poly - памятка с основными командами в различных режимамах редактирования

Вершина - Vertex (горячая клавиша 1)

Для редактирования вершин во вкладке Selection нажмите по кнопке Vertex (горячая клавиша 1), чтобы начать работать с вершинами модели. Чтобы выбрать несколько вершин, нужно нажать и удерживать Ctrl.

  • Remove - удалить выбранную вершину. Обратите внимание на то, что вместе с вершиной удалились и пересекающие ее ребра.
  • Break - позволяет разъединить смежные грани, которые сходятся в выбранной вершине, при этом добавит каждой грани по одной новой вершине.
  • Extrude - выдавить подчиненный объект. Чаще используется для выдавливания полигонов.
  • Weld - объединить вершины, используется для объединения нескольких вершин в одну, с указанием расстояния.
  • Chamfer - позволяет заменить вершину полигоном, гранями с новыми вершинами.
  • Target Weld - похожа на команду Weld . Указанную, соседнюю вершину к другой.
  • Connect – создать ребро между выделенными вершинами.
  • Create - добавление новой вершины
  • Collapse - команда похожа на Weld и соединяет две вершины в одну. Отличается тем, что может соединить вершины на любом расстоянии без каких-либо числовых значений.
  • Attach - эта команда работает одинаково для всех подчиненных объектов. Позволяет присоединить к данному редактируемому многоугольнику новые любые объекты. Присоединенные объекты автоматически превратятся в редактируемый многоугольник.
  • Slice Plane - секущая плоскость - разрезает объект вдоль плоскости. Нажав кнопку Slice Plane , на объекте появится желтый контур секущей плоскости, который обозначает место разреза. Этот контур можно двигать и поворачивать с помощью инструментов трансформации. Чтобы создать разрез нужно нажать по кнопке Slice, которая находится немного ниже.
  • QuickSlice - разрезает объект, тем самым добавив новые вершины, грани и полигоны.
  • Cut - удобный инструмент, который позволяет добавлять новые ребра в любом месте.

Ребро - Edge (горячая клавиша 2)

Ребро - это линия, которая соединяет вершины. Для выделения ребер удобно использовать кнопки Ring (выделить параллельные ребра) и Loop (выделить ребра одной плоскости), которые расположены во вкладке Select. Чтобы выбрать несколько ребер, нужно нажать и удерживать Ctrl.

  • Insert Vertex - создание новых вершин на ребрах. Если выделено ребро и была нажата эта кнопка, то в центре будет создана вершина.
  • Remove - удалить выделенное ребро
  • Split - разбивает ребро вершиной на две части
  • Extrude - выдавить грань с последующим добавлением полигонов
  • Weld - соединяет два ребра
  • Chamfer - добавление фасок
  • Bridge - если выбрать два ребра и нажать по этой кнопке, то они объединятся новым многоугольником
  • Connect - добавляет новые ребра. Для примера выделите два параллельных ребра и нажмите по этой кнопке

Полигон - Polygon (горячая клавиша 4)

Полигон - плоский многоугольник, ограниченный минимум тремя ребрами и вершинами. С помощью полигонов можно создавать любые самые сложные формы и объекты.

В зависимости от того, какой выбран режим подчиненного объекта, некоторые функции и кнопки в этой панели могут быть недоступны.

Edit Spline - памятка с основными командами в различных режимах редактирования

Spline - это двумерный геометрический объект, который может служить основой для построения более сложных трехмерных тел.

Концепция трансформации объектов Edit Poly — базовый инструмент изменения объектов в 3ds Max. В этом уроке мы попытаемся коротко, но достаточно наглядно и максимально доступно описать его возможности, чтобы вы могли на практике применять Edit Poly моделирование для создания и редактирования геометрически сложных форм.


Содержание

Разработчики предусмотрели возможность конвертировать в Edit Poly любой объект. Это открывает возможность вносить изменения в его структуру на уровне составных элементов. Конвертация происходит через контекстное меню, которое вызывается нажатием правой клавиши мыши (ПКМ) на предварительно выделенном в видовом окне объекте. Найдите раскрывающееся меню Convert To:, а затем левой клавишей мыши (ЛКМ) щелкните по пункту: Convert To Editable Poly.

Открываем модификатор Edit Poly

Концепция Edit Poly предполагает наличие у любого объекта 5 составляющих его каркаса — точки (Vertex), полигоны (Polygons) и пр. Для каждого из подобъектов в Edit Poly 3D Max команды существенно отличаются, так как элементы каркаса обладают уникальными характеристиками. Важно понимать, на каком подуровне работать, чтобы выполнить ту или иную трансформацию.

Переключаться между подобъектами можно различными способами:
1. Через кнопки, расположенные в свитке Selection.

Активный список модификатора

3. Нажимая цифры с 1 по 5 на клавиатуре. Самый удобный способ, но для его использования необходимо помнить последовательность расположения подобъектов в списке.

В первой половине урока мы покажем наиболее важные и часто применяемые функции. Начнем по порядку — с подуровня Vertex. Во второй части статьи будут раскрыты некоторые нюансы работы в Edit Poly, которые облегчат понимание принципа концепции для более осознанных действий по трансформации объектов, а также достижения желаемого результата с минимальными затратами времени и усилий (повышения продуктивности).

Подуровень VERTEX (вершина, здесь и далее в переводе с англ.)

Инструмент Cut (разрезать) — необходим для создания ребер путем деления полигона. Резать можно от точки к точке или от ребра к ребру. Нарезать дополнительную сетку приходится достаточно часто, чтобы получить возможность для локального редактирования, как правило, — добавления новых более мелких деталей. Любые операции сводятся к манипуляции сеткой, поэтому, работая в Edit Poly 3D Max, как добавить тот или иной элемент нужно знать.

Если возникает потребность создать ребро, которое расположено строго вертикально или горизонтально, то нужно использовать инструмент Slice Plane. После его активации в видовом окне появляется плоскость, которая обозначает линию разреза. Установите плоскость в необходимое положение, и нажмите кнопку Slice, чтобы выполнить разрез.

Collapse следует использовать для объединения нескольких точек в одну. Для ускорения работы используйте сочетание клавиш Ctrl + Alt + C.

Инструмент Collapse объединяет точки в одну, расположенную по усредненным координатам. Это не всегда удобно, более того часто происходит нарушение симметрии или некой закономерности расположения узлов. Это несовсем коректный способ способ удаления точки через Edit Poly. Одна из них в любом случае останется.

Чтобы объединить точки по месту расположения одной из них — используйте инструмент Target Weld (целевое сваривание). В это случае процесс будет происходить под вашим полным контролем.

Инструмент Connect (соединение) соединяет 2 точки, которые относятся к одному полигону, новым ребром. Действие аналогично функции рассмотренного ранее Cut, но с одним существенным отличием — это делается не вручную, а значит шанс разрезать полигон как-то не так (например, захватив случайную точку) сводится к минимуму.

Weld (сваривание) автоматически объединяет точки, находящиеся в границах определенной области, размеры которой пользователь задает параметрически в настройках инструмента.

Сваривание точек

Уровень EDGE (ребра)

Часто применяется техника построения модели, когда активировав подобъектный уровень Edge, создание новых полигонов происходит вытягиванием их из ребер. Попробуйте, как работает данная функция. Создайте Plane (плоскость). Количество сегментов у сторон поставьте равным 1. Откройте список подобъектов. Выберите Edge. Далее выделите ребро, и зажав клавишу Shift потяните его. Образуется новый полигон.

Вытягивание ребер и образование новых полигонов

Connect в 3ds Max Edit Poly — важный и один из наиболее применяемых инструментов. Если выделить два ребра принадлежащих одному полигону, то при помощи Connect можно очень быстро создать еще одно, которое будет идти от середины до середины доноров. Обратите внимание, что если выделить несколько последовательно расположенных элементов, то эффект будет таким же.

Если между двумя ребрами нужно построить несколько сегментов, то через Settings возможно и это.

Создание новых ребер

Инструмент Connect помогает создавать новые кольцевые сегменты, что крайне удобно в процессе моделирования.

Очень полезный инструмент Chamfer (фаска) необходим для создания фасок или закруглений вместо выделенных ребер. Параметры нового элемента задаются после нажатия на кнопку Chamfer движением мыши. Если задействовать Settings, то можно ввести параметры фаски числами, а также увеличить количество сегментов.

Сглаживание ребер

Bridge (мост). Данный инструмент необходим для построения полигона между двумя ребрами. Также достаточно часто необходимая функция, которую часто используют.

Create Shape From Selection (создать форму из выделенного) — создает копию выделенных ребер в виде сплайна, который часто используют в качестве направляющей, например, при создании плинтуса из сплайна, полученного из последовательно выделенных ребер плоскости пола.

Удаление ребер без разрушения основного объекта

На подуровне Edge вы найдете некоторые инструменты, которые мы описывали при обзоре Vertex, например, Collaps и Weld. Здесь они работают аналогичным образом, но практически никогда не используются. Удобнее это делать оперируя точками.

Border (граница). Одним нажатием выделяются все ребра, расположенные по краям открытых полигонов (то есть не соединенных с другими).

Выделение ребер по краям полигона

Уровень Polygon (полигоны)

Extrude (выдавливание) один из наиболее применяемых инструментов, без понимания действия которого не обойтись. Через Settings задают числовое значение размера выдавливания, а также его направление.

Выдавливание объекта из общего

Inset (вставка). Создает новый полигон внутри другого. Также один из важнейших инструментов, который часто помогает значительно упростить и ускорить моделирование. Через Settings задавайте значение нового полигона или режимом его создания посредством ввода с клавиатуры.

Крайне важная группа инструментов — (Выделение)

Как вы поняли, работа с подобъектами возможна только после их выделения. Если модель сложная и объемная, с большим количеством элементов, то сделать это непросто и, как правило, занимает очень много времени. На выручку приходят инструменты из группы (Выделение).

Grow — после нажатия кнопки область выделение увеличивается на 1 ряд полигонов во всех направлениях.

Удобное выделение подобъектов

Уменьшение полигона на один ряд

Loop часто применяют на подуровне Edge. Если выделить 1 ребро после чего нажать кнопку Loop, то вы получите последовательный ряд активных и готовых к преобразованию элементов.

К сожалению, Loop не универсален. Если на пути встречается точка, из которой выходит 3 или более 5 ребер, то алгоритм не сработает.
С 2013 версии 3ds Max последовательность выделенных ребер можно получить благодаря двойному клику ЛКМ на одном из них.

Команда Ring помогает выделить все параллельные ребра по периметру объекта.

Экспорт выделения. Если выделение какого либо элемента нужно сохранить, но трансформации требуется подвергнуть другой подобъект (находящийся в области выделения), то вы всегда можете перемещаться по списку. Достаточно в перечне кликнуть по интересующему разделу с нажатым Ctrl.

Если удерживать Ctrl+Shift, то на следующий уровень вы сможете перенести все за исключением границы.

Ignore Backfacing запрещает выделение рамкой элементов, которые не видны нам в данный момент (находятся с обратной стороны объекта).

By Angle (по углу). Тонкий инструмент. Удобен при достаточно сложной топологии поверхности объекта. С его помощью можно выделять элементы, которые соединены под определенным углом относительно друг друга.

Стоит отметить, что теоретическое знание модификатора Edit Poly 3D Max не гарантирует высокого уровня моделирования, поэтому стоит начинать изучение программы с бесплатного курса, чтобы понять, это ваше или нет. Огромную роль играет практика. 3ds Max достаточно сложная программа, в которой решение задачи доступно множеством способов. Только опыт поможет определить наиболее рациональный из них. Также важно представлять, каким образом реальные объекты могут быть описаны при помощи полигонов. Это умение тоже зависит от практического опыта. Неважно, сколько вы прочтете или посмотрите уроков. Профессионалом они вас не сделают. Теоретическая подготовка важна, но без самостоятельной практики, поиска решения задач, экспериментов – она бесполезна. Не отчаивайтесь, если создание простых моделей на начальных этапах у вас занимает массу времени. Через некоторое время ваши навыки значительно улучшатся, если проявить упорство и терпение.

Вопрос, вероятно, примитивный, но я не смог найти вразумительного для себя ответа на просторах интернета. Я буквально вчера начал изучать C4D, в связи с чем испытываю затруднения в работе с данным программным обеспечением. Заранее прошу прощения, если зря отнял Ваше время.

alt text

Ниже приведён пример того, что мне необходимо получить в итоге.

alt text

Ниже приведён пример лучшего результата, что мне удалось получить

В случае, если кому-либо понадобится туториал, что я пытаюсь повторить, то вот ссылка

Заранее благодарю всех за потраченное время на написание конструктивных советов. Я это очень ценю и готов также буду откликнуться на заданные мне вопросы. Также прошу прощения, что тема и вопросы отформатированы некрасиво и неудобно, к сожалению, я не смог сделать большего при помощи встроенных инструментов в редактор. Вероятно, что просто не разобрался.

С уважением,
KLV

Добрый день, @KLV. И добро пожаловать на форум!
Не стоит извиняться — вы пришли по адресу. Форум как раз для этого и создан и нам хорошо известно, как, иногда, важно задать вопрос живому человеку.

Чтобы достичь более-менее равномерной полигональной сетки со всех сторон выдавленной формы нужно совершить несколько действий.

  1. Сначала, собсвтенно, то о чём заголовок темы: чтобы добавить точек на сплайн в панели атрибутов (при выделенном сплайне) для Intermediate Points задайте значение Uniform. Значение Number скорее всего нужно будет увеличить — смотрите по ситуации.

spline-add-points.jpg

  1. Для объекта Extrude во вкладке Object увеличьте Subdivision до нужного значения. В идеале, побокам фигуры у вас должны быть полигоны квадратной формы или близкой к ней. Такая топология лучше подходит для деформаций.

extrude-subdivision.jpg

  1. Чтобы сделать квадратные полигоны на торцах, нужно у объекта Extrude во вкладке Caps (в самом низу) задать для Caps Type значение Regular Grid. Убедитесь что под Caps Type стоит галочка Quad Dominant (убирает триангуляцию). В конце, с помощью значения Size нужно подобрать такой размер полигонов, чтобы их размер был примерно таким же как на боках объекта. Опять же — для хорошей топологии.

@Aleksei спасибо большое за развёрнутый и полезный ответ!

Очень приятно знать, что на форуме есть люди, что готовы помочь.

Мной были применены Ваши советы на практике, но, вероятно, я допустил ошибку. Если не сложно, то поправьте, пожалуйста, хотелось бы уточнить несколько моментов на будущее

Первая попытка:

У логотипа, что я хочу анимировать, есть несколько вариантов дизайна. Первый,- буквы, обведённые рамкой. Второй,- прямоугольник, где буквы вырезаны внутри. При проведении первой попытки я использовал первый вариант, как и на скриншотах, что я использовал при написании своего вопроса выше. Я не стал идти дальше первого пункта Вашей инструкции. Решил остановиться, так как количество полигонов на наружной рамке было значительно ниже, чем на буквах, а также острые углы рамки были сточены. Увеличивать количество полигонов мне показалось неверным решением и я решил попробовать для реализация второй вариант дизайна, где рамка цельная.

alt text

alt text

alt text

Вторая попытка:

При совершении второй попытки я проделал все три пункта инструкции и результат стал значительно лучше, но, количество полигонов внутри букв по-прежнему значительно превышало количество полигонов со всех сторон рамки. Также по контуру букв образовались своего рода многочисленные "лучи".

alt text

alt text

alt text

Возможно ли что-либо сделать с этим?

Ещё раз спасибо большое за Ваше время и терпение!

@KLV да, решение простое. К сожалению, сразу об это не сказал, так как не видел контекста и всей формы сплайна.

Решил остановиться, так как количество полигонов на наружной рамке было значительно ниже, чем на буквах, а также острые углы рамки были сточены.

Разное расстояние между точками на сплайне получилось потому что Uniform в Intermediate Points разбивает прямую между двумя ближайшими точками на указанное кол-во отрезков. То есть если расстояние между точками разное, то и новообразованные отрезки будут разными. Поменяйте Uniform на Subdivided. Тогда новые отрезки сплайна будут одинаковой длины глобально:

799281e7-12e0-4065-8851-abf585c3214f-image.jpg

Оффтопик:
То как вы далаете топологию объекта (и как показано в туториале) — это хорошее решение для быстрого результата. Если сейчас вы хотите просто изучить возможности программы, то это хорошее начало. Но если вам нужно более высокое качество модели или если у вас сложная форма с деталями разной величины, то я бы посоветовал не пользоваться генераторами типа Extrude, а использовать полигональное моделирование с нуля. Тем более, что на практике владельцы бизнеса очень трепетно относятся к внешнему виду своих логотипов.

У вас и дальше могут проявляться проблемы, которых нету в туториале, потому что у автора как пример показана простая пухлая форма из одного знака. А у вас форма на порядок сложнее. Из-за этого может понадобиться применять немного другие подходы на каждой из стадий создания эффекта.

Да, я столкнулся с трудностями практически на следующем шаге. Аттракторы. У него линия имеет в основном одну и туже толщину, в логотипе же много кривых и расстояния регулярно разнятся, что сильно усложнило работу и для меня на данном этапе сделало почти невыполнимой, по крайне мере с такой формой.

Спасибо большое за Ваши советы, они правда очень помогли поднять навыки работы с C4D! Я их запомнил и уже неоднократно применил.

Да, основной причиной сделать это было начать изучение программы. Но также хотелось сделать красивый пост в инстаграмм студии. 3D,- не моя специализация, но всякий раз, как я вижу другие работы в 3D, то просто хочется для себя изучить эту программу, так как очень интересно и в целом очень полезно для дела.

По-поводу проектирования с нуля,- я с Вами полностью согласен. Но логотип этот не прост в реализации, поэтому не хотелось его с самого нуля перепроектировать по схемам в программе, что только изучаешь. Но я продолжу работу над своими навыками и надеюсь, что всё же в будущем для меня это не будет казаться сложной задачей.

Читайте также: