Полигон в 3д моделировании. Что такое

Всегда сложно начинать изучение чего-то нового и неизведанного для себя.

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

Полигональная геометрия
Полигоны - наиболее часто используемый в 3D тип геометрии. И, хотя, полигоны и используются в большинстве случаев, иногда возникает необходимость в идеально гладкой поверхности. И тут на помощь приходят сабдивы и NURBS.

NURBS
NURBS расшифровывается как non-uniform rational b-spline. В основном используются для создания очень засмуженных объектов. Так, для создания гладкой поверхности с помощью NURBS не нужно так много вертексов, как нужно при полигональном моделлинге. Плоскость, созданная с помощью NURBS, всегда определяется 4 вертексами.

Сабдивы
Сабдивы, которые иногда также называются NURMS (non-uniform rational mesh smooth), относятся к полигональной геометрии. Сабдивы работают по принципу полигональной геометрии, которая смузится автоматически. Например, на изображении выше можно увидеть полигональную сферу, заключенную в куб, которая и является примером сабдивов. Можно сказать, что сабдивы - это сочетание полигональной и NURBS-геометрии.

Фейсы
Фейс - очень важная часть 3D-полигона. Фейс - это плоскость, которая образуется между тремя и более эджами и делает видимым полимеш. Шейдер назначается именно на фейсы.

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

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

Топология
Полигональная, NURBS и NURMS геометрия состоит из вертексов, эджей и фейсов. Топология - это набор фейсов, вертексов и эджей.

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

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

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

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

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

Бевел
Бевел - это фаска или закругление эджей меша. При бевеле каждый вертекс и эдж трансформируются в новый фейс. В реальном мире у объектов редко бывают твердые ребра или эджи. Благодаря бевелу модель выглядит менее CG.

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

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

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

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

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

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

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

Всевозможные морщины, царапины и прочие мелкие детали создаются в интерактивном режиме, при котором необходимость работы с эджами и вертексами полностью отпадает. В большинстве случаев моделлер обычно создает лоупольный меш в таких 3D-редакторах, как Maya, который затем импортирует в ZBrush или Mudbox, чтобы проработать мелкие детали.


Метод полигонального моделирования основан на манипуляциях с гранями, вершинами и ребрами объектов. Именно с помощью editable poly в 3d max создается и редактируется большинство моделей, которые мы используем в интерьерах и . В сегодняшнем уроке мы рассмотрим основные инструменты полигонального моделирования.

Итак, каждый трехмерный объект состоит из плоскостей: полигонов. А они в свою очередь разбиты на треугольники: Faces, однако, последние для нашего удобства скрыты и не отображаются в видовом окне по умолчанию. Да и речь сегодня пойдет не о них. А вот чтобы яснее понять, что такое polygons, создадим бокс, разобьем его на любое количество сегментов и переведем его в Editable Poly. Жмем на него ПКМ/Convert to/Convert to Editable Poly. Именно с этого всегда начинается работа с полигонами.

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

Заметим, что справа в окошке появилось название . Если отжать плюсик, то мы увидим его подобъекты, которые можно редактировать.

Среди них:

  • вершины (vertex ) или точки;
  • ребра (edges );
  • границы (border );
  • полигоны (polygons );
  • элемент (element ).

Border же на этом скриншоте мы не увидим, так как это край, граница объекта. Я отредактировала бокс, чтобы показать, что имеется ввиду под «границей».

Подобъекты дублируются внизу в свитке Selection, как иконки. Удобно и то, что за ними закреплены 1, 2, 3, 4 и 5 - соответственно их порядку в списке.

Свиток Selection

Под иконками, в свитке Selection, можно также найти способы выделения для каждого из подобъектов:

  • By Vertex (по вершине) - выделяются ребра или полигоны (не работает с вершинами), которые включают в себя выбранную точку;

  • Ignore Backfacing (игнорировать задний план) - при выборе будут игнорироваться vertex (edges, polygons), которые не видно на данном ракурсе;
  • By Angle (по углу) - работает только в режиме Polygons и выделяет все полигоны, находящиеся в пределах заданного угла;

А теперь о кнопках:

  • Grow - выделяет все полигоны, окружающие выделенный;
  • Shrink - действует противоположно;

  • Ring - работает с edge. Выделяет цепочку ребер;

  • Loop - также выделяет цепочку, но по другому принципу.

Все эти элементы (vertex, polygons, edges и др.) можно редактировать, передвигать, увеличивать, разрезать и проделывать множество других операций. Для того чтобы это сделать, для каждого подобъекта есть кнопки. Они находятся в свитке внизу. Давайте кратко разберем их.

Vertex. Edit Vertices

Переходим в режим Vertex или жмем 1 на клавиатуре.

  • Remove – с помощью кнопки можно удалить вершину.

Чтобы удалить точку, можно воспользоваться кнопкой backspace на клавиатуре. А вот delete удалит не только вершину, но и поверхности, примыкающие к ней.

  • Break - команда разъединяет вершины в данной точке;

  • Extrude - выдавливает точку, при этом получается зубец, пирамида;

  • Weld - одна из самых полезных кнопок. Позволяет соединить (склеить) вершины, находящиеся на заданном расстоянии;

  • Chamfer - образует срез на вершине;

  • Connect - с помощью этой кнопки можно добавить ребро между двумя выбранными вершинами.

Edges. Edit Edges

Переходим в режим Edges или жмем 2 на клавиатуре.

  • Remove – удаляет эйдж;
  • Split – делает разрез по линии ребра;
  • Extrude – выдавливает или вдавливает эйдж, аналогично инструменту в Vertex;
  • Weld – помогает объединить, «спаять» ребра на заданном расстоянии;
  • Chamfer - срезает или (при высокой сегментации) сглаживает ребра формы;

  • Bridge – позволяет соединить ребра полигонами;

  • Connect – очень важная и нужная кнопка. Если выделить два противоположных ребра на одном полигоне, и нажать на нее, четко посередине создается дополнительное ребро. Таким образом плоскость можно разбить на равные части по горизонтали или вертикали. Изменить количество и расстояние между новыми ребрами можно, нажав на квадратик рядом с кнопкой (по умолчанию создается 1 ребро).

Border. Edit Borders

Переходим в режим Edges или жмем 3 на клавиатуре.

  • Extrude – выдавливает грань;
  • Chamfer – аналогично одноименному инструменту в Edges;
  • Cap – создает «крышку»;

  • Bridge – образует соединение между кромками;
  • Connect – аналогично инструменту в Edges.

Polygon. Edit Polygons.

Переходим в режим Polygons или жмем 4 на клавиатуре.

  • Extrude – позволяет выдавливать или вдавливать полигон на заданную величину;
  • Outline – расширяет/сужает полигон;

  • Bevel – похож на Extrude, но позволяет кроме высоты выдавливания/вдавливания задать площадь скоса;

  • Inset – создает на поверхности полигон меньшего размера;

  • Bridge – создает мостик между полигонами;
  • Flip – позволяет вывернуть полигоны наизнанку.

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

Свиток Edit Geometry

Этот свиток есть в режиме редактирования любого подобъекта, так как относится к редактированию общей геометрии. В нем есть и еще несколько интересных кнопок:

  • Attach/Detach – присоединяет или отсоединяет одну модель к другой. Элементы такой «сборной» модели затем можно выделять в режиме Element.
  • Slice Plane – отображает плоскость, которой можно нарезать поверхность.
  • Cut – с помощью инструмента можно разрезать полигон в заданном направлении, манипулируя мышью;
  • X, Y, Z – кнопки помогают выровнять vertex (edges, polygons) в одном положении на оси.

Сегодня мы хотим написать небольшой обзор программы Polygon 2.0 от компании Picaso 3D. Это программа предназначена в первую очередь для работы с 3D-принтером Picaso Designer Pro250.

Зачем обзор, если есть информация на сайте производителя? Несмотря на это, к нам постоянно обращается определенная часть наших покупателей за обучением. А так же просто интересуются люди в стиле «как оно?», «простая программа или сложная?» и тп.

Просто так устроены люди, что не все готовы/умеют искать нужную информацию в интернете и поэтому, чем легче им будет на эту информацию наткнуться, тем лучше. Поэтому мы решили разместить наш обзор на данном ресурсе.
Приступим к описанию.

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

Скачать программу можно на сайте Picaso 3D - http://picaso-3d.com/ru/products/soft/polygon-2-0/

После установки (стандартной для любых программ), мы увидим вот такое окно программы:

Если ваш принтер подключен к компьютеру с помощью USB‑кабеля, то подключаемся к нему, через меню Конфигурация – Настройки принтера.


Выбираем название, порт к которому подключен наш принтер и нажимаем кнопку с дискетой – сохранение.

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

Справа находится область настроек и подготовки к печати.

Сверху расположено меню:


Файл:

Загрузить G-код F2
– загрузить уже подготовленный для печати код.

Ниже могут быть расположены недавно открытые вам в Polygon модели.

Выход – без комментариев

Конфигурация:

Настройки принтера
Ctrl+ P – мы с ними уже познакомились в самом начале.

Конфигурация 3D Alt+3 –настройки отображения модели в окне программы. Всё достаточно понятно.

Это меню ни на что не влияет, кроме визуального отображения – настройте его на свой вкус.

Настройки звука

Здесь можно настроить различные информационные звуки на свой вкус.

Справка – Проверить обновления программы
Ниже находится кнопка подключения принтера , который мы настроили в соответствующем меню ранее.

Кнопка Загрузить – кнопка для выбора модели. Нажав на стрелочку можно выбрать одну из уже открытых ранее моделей.

Кнопка Печать задания – запустить печать.

Кнопка Остановить – без комментариев.

Кнопка Сервис - меню управление принтера.

Переходим к самому интересному. К загрузке и подготовке модели к печати.
Справа находится основное меню.
На закладке Размещение объектов, можно загрузить модель с помощью кнопки Добавить Объект .

Загрузим всем известного Шелкопряда.

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

Ниже видны размеры модели.

Еще ниже активировались кнопки:

Масштабировать объект – позволяет увеличивать/уменьшать размер печатной модели.

Копировать объект – можно «размножить» модель прямо на рабочем столе.

Автопозиция – понятно без комментариев.

Центровать объект – разместить модель на середине рабочего стола.

Разбить объект – если модель состоит из нескольких отдельных объектов, то можно их разделить для отдельного перемещения/позиционирования на рабочем столе.
Та же сверху активировались две кнопки:

Подготовить задание – самая нужная нам кнопка. Нажимаем её. Открывается вот такое окно:

Слева мы можем выбрать пластик для каждого из двух сопел.

Тип пластика можно выбрать из выпадающего списка. Настроить параметры каждого вида можно в отдельном меню.

Редактор пластика мы его рассмотрим чуть позже.

Тут же мы выбираем тип сопла:

SR – стандартное сопло 0,3мм.

HR – сопло 0,15мм для высококачественной печати.

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

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

Заливка – указывает, каким соплом печатается внутреннее заполнение. Например, можно указать печать периметра соплом с диаметром 0,15мм для высококачественной печати. А заливку печатать вторым соплом с диаметров 0,3мм для экономии времени.

Поддержка – указывает, каким соплом будет производиться печать поддержек. В первую очередь служит для того, чтобы была возможность печати растворяемыми поддержками. На одном сопле – рабочий материал(ABS,PLA и тд), на втором растворяемый материала поддержек (PVA,HIPS).

Переходим в правую часть.

Высота слоя – отвечает за выбор качества печати. Тоньше слой – качественней печать. Доступны значения 0,05-0,25мм.

Качество печати – можно ползунком регулировать автоматически предустановленные параметры, а можно это сделать вручную через меню Настройка качества печати . Мы его рассмотрим чуть позже.

Процент заполнения – выбираем насколько «плотно» у нас будет выполнена заливка внутренней части модели. 0% - пустая модель, только стенки. 100% - сплошное заполнение пластиком.

Поддержка – указываем насколько прочная поддержка будет использоваться. Работает при выборе на одном из экструдеров необходимости печатать поддержку.

Дополнительные опции печати:

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

Использовать охлаждение – устанавливается всегда при печати PLA-пластиком.

Подложка(Raft) – нужна для печати моделей с поддержками.

Кнопка Запустить подготовку – запускает расчет данных для печати. Ее мы нажимаем, когда настроим все параметры.

Вернемся к подробным настройкам.


Выбор пластика – нажимаем на шестерню и попадаем в Редактор пластиков

Первый пункт Наименование пластика - можно выбрать нужный, переименовать, сохранить или удалить.

Тип пластика – Выбираем нужный нам тип.

Коэффициент подачи – в англоязычных слайсерах имеет название Flow и переводное Поток.

Температура экструдера
– выставляем по данным производителя пластика.

Температура стола - аналогично.

Ниже есть зеленая стрелка, которая открывает дополнительные параметры:

Тут можно выбрать стоимость пластика, для расчета себестоимости изделия.

И внести коррективы для печати двумя соплами с помощью параметра Компенсация давления при смене сопла.
Далее мы можем поменять значения вот здесь:

Попадаем в меню Настройка качества печати:


Тут внизу мы видим «галочку» Настройки по умолчанию. Пока мы ее не уберем, мы не сможем менять параметры.
О параметрах:

Толщина оболочки детали (мм) – можно выбрать толщину внешнего контура модели. Указывать менее стандартных 1мм не стоит.

Мин.площадь сплошной заливки(мм ) – параметр указывает минимальную площадь менее которой, не зависимо от указанного процента заполнения будет сплошной слой пластика.

Коэффициент подачи при натягивании «мостов» - можно регулировать «поток», при печати так называемых мостов.

Обрамление детали – служит для увеличения адгезии к рабочему столу. Печатается дополнительное обрамление нижней части детали для увеличения ее площади. В других слайсерах называется Brim, иногда «юбка».

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

После выбора всех параметров нажимаем на Запустить подготовку . Через некоторое время мы видим уже такую картину:

Модель подготовлена к печати. И с помощью ползунков справа снизу можно послойно проконтролировать/проверить как слайсер «нарезал» модель для печати.

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

Запустить задание – распечатать модель, на подключенный к компьютеру 3D-принтер.

Еще одна закладка Контроль печати
Там можно контролировать процесс печати – температуру каждого сопла и рабочего стола.

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

Если статья вам понравилась - жмем палец вверх!

Все мы слышали о 3D графике (далее просто 3D, не путать со способом отображения - голограммами, 3D-мониторами и т.п.), многие прекрасно знают, что такое 3D и с чем его едят. Но, все же, есть и те, кто смутно себе представляет, что кроется под этой короткой аббревиатурой. Статья рассчитана на тех, кто не имеет представления о компьютерной графике. Также будет немного экскурса в историю компьютерной графики (в следующих планируемых частях).
Почему именно 3D? Как нетрудно догадаться, речь идет о 3 Dimension, или о трех измерениях. И не обязательно при этом, чтобы и отображение было в 3D. Речь идет о способе построения картинки.

Часть 1. Собственно, моделирование
Традиционно рисуют в 2D (по осям X и Y) - на бумаге, холсте, дереве и т.п. При этом отображают какую-то одну из сторон предмета. Картинка сама по себе плоская. Но если мы хотим получить представление обо всех сторонах предмета, то необходимо нарисовать несколько рисунков. Так поступают в традиционной рисованной анимации. Но, вместе с тем, существует, (кстати, в СССР была довольно хорошо развита) т.н. кукольная анимация. Один раз изготовленную куклу снимают в необходимых позах и ракурсах, получая серию «плоских картинок». 3D (к X и Y добавляется координата глубины Z) визуализация - это те же «куклы», только существующие в цифровом виде. Другими словами, в специальных программах (Blender, 3ds Max, Maya, Cinema 4D и т.п.) создается объемное изображение, например авто.


Преимущество данного метода в том, что в распоряжении, скажем, аниматора есть объемная модель, необходимо лишь поместить ее должным образом в кадр, анимировать (задать траекторию передвижения или рассчитать с помощью симулятора) при необходимости, а уж отображение авто в финальной картинке ложится на специальную программу называемую визуализатором (render). Еще одно преимущество в том, что модель достаточно нарисовать один раз, а потом использовать в других проектах (скопировав), изменять, деформировать и т.п. по своему усмотрению. Для обычного 2D рисунка, в общем случае, такое невозможно. Третье преимущество - можно создавать практически бесконечно детализированные модели, например смоделировать даже винтики на часах и т.п. На общем плане этот винтик может быть и неразличим, но стоит нам приблизить камеру, программа-визуализатор сама рассчитает, что видно в кадре, а что - нет.

Существует несколько способов моделирования, но самым популярным является полигональное моделирование. Нередко можно увидеть в роликах о 3D или фантастических фильмах как тот или иной объект представляется в виде т.н. сетки. (см. рисунок выше) Это и есть пример полигонального моделирования. Суть его в том, что поверхности представляются в виде простых геометрических двумерных примитивов. В компьютерных играх это треугольники, для других целей обычно используют четырехугольники и фигуры с большим кол-вом углов. Эти примитивы, из которых состоит модель, называют полигонами . Но при создании 3D объекта стараются обойтись, как правило, четырехугольниками. При необходимости четырехугольники (полигоны) без проблем превращаются в треугольники при экспорте в игровой движок, а при необходимости сглаживания или тесселяции модель из четырехугольников получается, как правило, без артефактов.
Что такое тесселяция? Если какой-то объект представляется в виде полигонов (особенно органические объекты, например человек), то понятно, что чем меньше размер полигонов, чем их больше, тем более близкой может быть модель к оригиналу. На этом основан метод тесселяции: сначала изготавливают грубую болванку из небольшого кол-ва полигонов, затем применяют операцию тесселяции, при этом каждый полигон делится на 4 части. Так вот, если полигон четырехугольный (а еще лучше, близок к квадрату) то алгоритмы тесселяции дают более качественный и предсказуемый результат. Также операция сглаживания, а это та же тесселяция, только с изменением углов на более тупые, при близких к квадрату полигонах, позволяет получить хороший результат.


Как было сказано выше, чем больше полигонов, тем более модель может (может, потому, что модель должна быть еще похожа на оригинал, а это вопрос мастерства моделера, а не полигонов) походить на оригинал. Но у большого кол-ва полигонов есть обратная сторона: понижение производительности. Чем больше полигонов, тем больше точек по которым они строятся, тем больше данных приходится обрабатывать процессору. Поэтому 3D графика - это всегда компромисс между детализацией модели и производительностью. В связи с этим даже возникли термины: hight poly и low poly, соответственно высоко полигональная модель и низко полигональная модель. В играх применяются низко полигональные модели, так как в них выполняется визуализация в реальном времени. Кстати, модели в играх представлены треугольниками для повышения производительности: графические процессоры умеют на аппаратном уровне быстро обрабатывать сотни миллионов треугольников за секунду.

Как правило, полигональное моделирование относится к пустотелому моделированию, где объект имеет только объем, но внутри пустой. Это означает, что если мы смоделируем куб, а потом удалим одну из стенок, то увидим внутри пустоту. Также имеются программы для твердотельного моделирования, где тот же самый куб представлен в виде монолитного объекта. В таких программах (к примеру, Autodesk Inventor) применяются математические модели отличные от тех, что в полигональном моделировании. Алгоритмы твердотельного моделирования лучше подходят для моделирования механизмов при разработке техники. Программы вроде Autodesk Inventor имеют средства для моделирования с учетом особенностей технологического процесса, как то фаски, сверление отверстий, проставление размеров, допусков и т.п. Получаемые модели можно сразу отправить на подходящий станок для получения изделия в металле или другом материале.
Также существуют так называемые программы 3D лепки (ZBrush, Autodesk Mudbox) в которых моделирование сводится (грубо говоря) к созданию углублений или выпуклостей. Такая техника похожа на то, как скульпторы лепят из глины - убирая ненужное и добавляя необходимое. С помощью таких программ можно добиться реалистичного рельефа поверхности, например морщин на коже или складок ткани. В настоящее время высокополигональные (а для лепки модель должна обладать солидным кол-вом полигонов) реалистичные модели людей и вообще животного мира выполняются, в большинстве своем, с применение программы лепки. Распространена практика когда заготовка модели создается с помощью полигонального моделирования, а затем в программе лепки тесселируется и добавляются мелкие детали.

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


В общем случае текстура - это двумерный рисунок который накладывается на 3D модель. Текстура может быть как процедурной - сгенерированной при помощи алгоритма, так и нарисованная в графическом редакторе, или фотографией реального объекта. С помощью текстуры задается рисунок и цвет модели, но реальная поверхность обладает и другими параметрами: отражающей способностью, преломлением, рельефом, позрачностью и т.п. Все эти параметры задаются в свойствах материала. Т.е. материал с точки зрения 3D графики - это некая математическая модель описывающая параметры поверхности. Например, для воды обязательно необходимо указать прозрачность и преломляющую, отражающую способности.
Перед «нанесением» материала на 3D модель необходимо создать ее развертку, т.е. представить все (несколько, одну) поверхности в виде проекции на плоскость. Это необходимо для того, чтобы затем двумерная текстура правильно «лягла» на модель.
Таким образом изготовление 3D модели в общем случае состоит из следующих стадий:
1. Получение изображений референса (т.е. того, с чего будет моделироваться) или самого референса. Или отрисовка экскиза.
2. Моделирование геометрии на основе референса.
3. Создание развертки.
4. Отрисовка текстур или получение их другим способом в виде файлов.
5. Настройка параметров материала (текстуры, преломление, отражение, прозрачность).
Теперь 3D модель готова для визуализации - получении картинки.
Первый и четвертый пункт могут быть быть опущены если модель простая, но, как правило, хороших результатов без всех 5 шагов не добиться.
Подытожим.
Между обычным рисунком, скажем, на бумаге, и построением 3D изображения есть существенные различия в самом процессе. Двумерный рисунок, как правило, создается в два этапа: эскиз и раскрашивание. В 3D графике после изготовления модели ее необходимо поместить в сцену к другим объектам (или в так называемую студию), добавить освещение, камеру и лишь затем можно надеяться получить финальную картинку. Изображение в 3Dграфике просчитывается на основе физической модели, как правило, это модель распространения луча света с учетом отражения, преломления, рассеивания и т.п. Рисуя красками мы сами отрисовываем тени, блики и т.д., а в трехмерной графике мы подготавливаем сцену с учетом освещения, материалов, геометрии, свойств камеры, программа рассчитывает итоговую картинку сама.

Вот, на сегодня пока и все. Комментарии, а особенно вопросы и замечания по существу приветствуются.

P.S. В следующих частях (если Хабрабществу будет интересно) мы более подробно поговорим о трехмерном моделировании для игр, будет затронута визуализация, моделирование динамических сред, таких как вода, разрушение объекта и затронем динамическое взаимодействие между 3D объектами, историю 3D графики.

22Окт

Что такое Полигональная Сетка

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

Что такое полигональная сетка простыми словами – кратко.

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

Отображение полигональной сетки.

Обычно, когда мы рассматриваем завершенный и отрендеренный 3D объект, то зачастую нам не показывают его в сетчатом виде. Но при создание 3D объекта, художники очень часто используют режим отображения сетки (wire-frame), для того, чтоб правильно строить топологию и формы модели. Работая в этом режиме, художники могут манипулировать составляющими полигональной сетки и тем самым создавать 3D модель нужным им образом с учетом правильной формы и топологии.

Где создается полигональная сетка?

Являясь неотъемлемой частью 3D модели, работа над сеткой происходит в компьютерных программах, предназначенных для работы с 3D графиков. Из наиболее популярных программ можно выделить:

  • Autodesk Maya;
  • Autodesk 3Ds-max;
  • Blender;
  • Modo и другие.

Стоит упомянуть программы, подход к работе у которых значительно отличается от программ приведенных выше:

  • Zbrush;
  • Mudbox;
  • 3d-coat и другие.

Они позволяют работать с сеткой в более традиционном виде, точно так, как над формированием статуй работают классические скульпторы. Вместо работы с каждым полигонов по отдельности или с группой полигонов, 3d скульпторы работают одновременно с тысячами или десятками тысяч полигонов при помощи специальных кистей и инструментов, которые встроены в программы для 3D скульптинга.

Методы работы с полигональной сеткой.

Как правило, большинство программ по работе с 3D графикой имеют огромный арсенал инструментов по работе с моделью. Каждая из программ обладает своими уникальными инструментами и модификаторами, но наиболее распространенные инструменты присутствуют практически в одинаковой форме в каждой программе. Среди инструментов широкого пользования есть такие, как:

Extrude — позволяет выдавливать дополнительные полигоны из уже существующих. Является одним из основных инструментов при работе с 3D моделью и позволяет создавать достаточно сложные формы из примитивных фигур.

Cut — Позволяет резать полигоны от грани к грани, от вершины к вершине или же в более свободной форме. Другими словам, является своеобразным инструментом-ножницами, который позволяет перекроить полигональную сетку по своему желанию. Является практически обязательным инструментом любого 3D художника.

Bevel (chamfer) — Инструмент, который позволяет делать фаски на геометрии. Он весьма распространен, так как делает формы менее рублеными и более плавными. Всегда используется при работе с высоко детализированными моделями.

Эти, а также большое количество других инструментов, позволяют воссоздать любую желаемую форму в компьютерном 3D пространстве с внушительным количеством подходов к решению той или иной задачи.

Топология полигональной сетки.

Простыми словами, топология — это плавная и потоковая организованность полигонов в 3D модели.

Что такое правильная топология?

Очень сложно охарактеризовать правильность топологии в несколько слов, так как ее правильность и неправильность может зависеть от конкретного рабочего процесса (пайплайна), той или иной студии в определенной сфере компьютерной графики. Например, если в одном техническом процессе присутствие полигонов с тремя вершинами допустимо, то в другом процессе полигоны с тремя вершинами (трисы) могут быть крайне нежелательными, а предпочтение будет отдаваться полигонам с 4-я вершинами (квадам). Сюда и относится построение сетки под анимируемый или статичный объект или объект под сглаживание (subdivision).

Но стоит отметить, что “правильная топология” имеет и вполне четкие и нерушимые требования к построению корректной полигональной сетки. Так, например, сетка должна быть равномерной и оптимальной по количеству полигонов. На сетке не должно быть загибов или пересечений полигонов. По возможности, грани у полигонов должны иметь не прерывистые и плавные линии, которые нередко называют лупами.

Составляющие полигональной сетки.

Полигон — это основная часть полигональной сетки. Он содержит в себе такие элементы как:

Вершина (vertex) — это точка пересечения 3-х или более ребер.

При работе с 3D моделями, а конкретнее с полигональной сеткой, вершина зачастую выступает в роли манипулятора, который являются наиболее популярным методом формирования полигональной сетки в ее итоговом виде. Двигая вершины во всех 3-х плоскостях (x,y,z), пользователю удается добиться правильной и нужной ему формы в 3д модели.

Ребро (edge) — Это прямая, которая образуется в любой точки геометрии, при пересечении двух фейсов.

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

Фейс — это плоскость, которая образуется при сочетании не менее трех ребер.

Иногда бывает, что “фейс” путают с “полигоном”, но на самом деле, это не одно и тоже, так как “фейс” — это лишь одна из составляющих полигона. Но именно она и отвечает за то, как мы видим объект и как на него ложатся шейдера и текстуры.

Нормаль — является вектором, который перпендикулярно направлен по отношению к плоскости и граням, к которым он принадлежит. Информация о направление нормали используется при расчетах освещения и при выборе направления фейса по отношению к камере. Если нормаль будет перевернута в сторону от камеры, то модель будет отображаться некорректно.

Виды полигонов в компьютерной графики.

Можно выделить три основных вида полигонов:

Полигон с тремя вершинами — является самым простым полигоном из возможных, так как имеет минимальное количество вершин и сторон для образования плоскости (фейса). Часто именуется “треугольником” или “трисом”

Работа по построению модели исключительно из трисов является на практике скорее исключением, чем правилом. Но стоит отметить, что есть большое количество сфер в компьютерной графике где полигональная сетка на финальном этапе должна состоять исключительно из треугольных полигонов. Таким хорошим примером являются движки для компьютерных игр, где в большинстве своем 3D модель должна быть триангулированной.

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

Полигон с пятью вершинами или более. Часто именуется как “N — Gon”.

Имеет пять или более пяти сторон и вершин. Является крайне нежелательным полигоном практически в любом рабочем процессе. Часто N — гоны создают трудности в виде артефактов при текстурировании, и анимации, а также плохо поддаются сглаживанию на изгибистых поверхностях.

Категории: , / / от

Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: