Разное

Что такое полигоны в графике: Полигональная сетка | это… Что такое Полигональная сетка?

17.08.2023

Содержание

Топология в 3D моделировании — CGITEMS на DTF

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

3681 просмотров

Топология относится к геометрическим характеристикам поверхности 3d сетки. Также можно встретить понятие «Polygon Flow» — поток полигонов, но расположение вершин и ребер сетки также играет важную роль в создании 3d моделей. Можно сказать, что по сути не существует четких стандартов или железных правил в работе с топологией. Это та сфера, успеха в которой можно достигнуть только посредством практики, анализа и наработки опыта, «насмотренности».

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

В чем же заключается важность топологии?

В принципе, это зависит от задачи стоящей перед художником.

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

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

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

Из чего состоит 3D модель

Любая модель будет состоять из трех элементов — полигон, ребро, вершина (polygon, edge, vertex). Вы часто (всегда) будет слышать следующие обозначения — вертекс, эдж, полигон.

Вертекс — это позиция точки в трехмерном пространстве, которая определяется координатами X, Y, Z. Она может хранить в себе такую информацию как цвет, направление нормали, текстурные координаты. Несколько эджей и полигонов могут иметь один вертекс.

Эдж — это линия, которая соединяет два вертекса. Как и в случае с вертексом, несколько полигонов могут иметь общий эдж. Важно — лучше не называть их линиями и сразу привыкнуть к понятию edge (ребро).

Полигон — многоугольник. Состоит из трех или более вертексов, с замкнутым контуром эджей. Это как раз та самая форма, которая определяет поверхность трехмерной сетки. Polygon flow — помните такое понятие, верно?

Полигон также называют face — поверхность. Обычно 3d сетка содержит в себе от десятков до сотен и тысяч полигонов. Зависит от задачи, под которую мы делаем свою модель.

Всем известное понятие «оптимизация» в том числе включает в себя то, какое количество полигонов (а если точнее, то треугольников) включает в себя сетка, часто оно может быть жестко ограничено под требования проекта (в случае с играми). С каждым годом эти требования становятся все более размытыми, благодаря развитию вычислительных технологий. НО, это не единственный аспект оптимизации.

Виды и особенности полигонов

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

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

Quadrangle (quad, квад) — полигон с четырьмя сторонами. Это тот вид полигона, который мы должны знать, любить и уважать, так как он является основой нашей модели при создании ее сетки.

N-gon — это полигон с количеством сторон более чем четыре.

Важно — если вы видите квад в котором пять вертексов, то это уже n-gon, несмотря на то что визуально он квадратный.

Существует ряд мнений среди 3d сообщества на тему применения n-gon и triangle полигонов в создании модели. На деле все зависит от ситуации и целей, с которой создается модель. Отдельная тема, это модели под анимацию, например персонажи. У них есть ряд своих, особых требований по применению полигонов в топологии. Давайте возьмем за основу следующий принцип — «То что я могу, не значит что так и надо», и будем стремиться к тому, чтобы строить свои сетки на quad — квадратных полигонах. Вспоминаем о том, что ровная и удобная сетка это залог простоты и скорости ее редактирования, квадратный полигон в этой ситуации — наш главный помощник. Безусловно, бывают ситуации, когда применяются другие типы полигонов, но это ситуативно, становится понятнее с опытом, и уже на конкретных примерах вам надо будет смотреть и принимать решение — какой полигон применить.

Planar и non-planar полигоны (плоские и неплоские)

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

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

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

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

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

Subdivision surface (SubD)

Subdivision surface — это алгоритм подразделения поверхностей, который создает гладкую поверхность из «грубой» полигональной сетки. Когда сетка подразделяется, она становится более плавной, ее детали принимают более финальный вид. Это преобразование является обратимым, только если вы не применили финальное сглаживание (например, перед выгрузкой high poly для запекания).

Слева направо: полигональная сетка, сетка с примененным SubD и control cage (контрольной клеткой), final smooth (финальное сглаживание).

Наиболее часто используемым алгоритмом subdivision surface является Catmull — Clark (CC SubD). Его разработали Эдвин Катмулл и Джеймс Кларк в 1978 году. Обратите внимание, насколько давно удачная идея стала инструментом актуальным до сих пор.

Если объяснять простыми словами, то суть его заключается в том, что по полигонам модели под SubD размещаются центроиды — вершины в центральных точках полигонов, далее они соединяются ребрами, оставшиеся вершины смещаются, чтобы снять напряжение — происходит «округление» формы. Этот алгоритм итеративен, то есть может повторяться раз за разом, наращивая количество подразделений. Таким образом, мы получаем high poly модель, и именно этот процесс нам надо учитывать при построении модели под SubD.

Схема подразделения полигонов по алгоритму CC SubD.

Слева: Эдвин Катмулл — американский инженер-мультипликатор, специалист по компьютерной графике, президент DisneyToon Studios, Pixar и Walt Disney Animation Studios, тьюринговский лауреат, член Национальной инженерной академии США, четырёхкратный лауреат «Оскара».

Справа: Джеймс Кларк — бизнесмен, технолог, миллиардер. Основал Silicon Graphics, Netscape Communications, myCFO, Healtheon, «Neoteris», «Sciences DNA», Shutterfly.

Чистая и аккуратная работа с топологией под subdivision surface, это залог того, что на выходе вы получите правильную модель без артефактов. Высокая плотность, хаотичность в построении сетки, разнобой в полигонах — все это может создать вам немало сложностей в процессе моделирования и превратить его в тяжелый изнурительный труд. А мы ведь хотим получать удовольствие от процесса и заниматься творчеством, а не разгребать нагромождение полигонов, верно?

Важные определения и понятия топологии, которые надо знать и учитывать

PolyLoop — петля полигонов. Представляет собой набор последовательно и непрерывно связанных квадратных полигонов. Polyloop является важным элементом построения 3d модели, умение работать с петлями станет залогом вашего успеха. Сам по себе один полигон ничего не значит, так как мысля в таком формате мы не видим созависимостей, можем пропустить важные моменты в модели, либо допустить ошибки построения. Но замкнутая цепочка полигонов это мощный инструмент позволяющий мыслить и моделировать более комплексно. Вам стоит сразу, с самого начала стараться мыслить петлями, а не отдельными полигонами при создании своих сеток. PolyLoop позволяет вам точнее и равномернее распределять полигоны, выделять отдельные участки и редактировать модель, при применении SubD правильные PolyLoop подразделяются и сглаживаются лучше всего. Именно по этому вам стоит сразу, заранее планировать свою работу и стараться мыслить комплексно — правильное начало работы, это залог того, что на финальных этапах вы сэкономите себе немало времени и сил. В разных ситуациях PolyLoop по разному работают с SubD, именно поэтому вам необходима практика и наработка опыта, чтобы увидеть и запомнить разные ситуации. Посмотрите разные примеры сеток, попытайтесь увидеть эти петли, и вскоре поймете что действительно каждая модель состоит в первую очередь именно из них.

Простой пример PolyLoop — полигональной петли.

EdgeLoop — в свою очередь это петля из эджей (ребер). Как и с PolyLoop — петля ребер это разрезы, которые вы будете делать на модели, и они буду замыкаться. Правильная работа с размещением таких петель, это также залог чистой, легкой сетки которая будет корректно сглаживаться и легко редактироваться. Обратите внимание на изображение выше — там представлены как петли полигонов, так и петли ребер, по сути это неотделимые понятия, но каждое из них само по себе важно и может нести разную функцию, в зависимости от задачи. Также бывают ситуации, когда петля ребер заканчивается звездой (еще их называю «полюс»), об этом мы поговорим далее. Каждый EdgeLoop призван служить форме вашего объекта. Посмотрите на положение петель в своей модели и скажите себе — какие из них служат какой то функции, а какие нет. Это покажет вам, где вы сделали лишнюю работу. В работе с EdgeLoop также стоит мыслить именно петлями, а не отдельными ребрами.

Пример EdgeLoop — замкнутой петли ребер.

Звезда (pole, star, полюс) — это вершина в сетке, в которую приходит 3 и более ребер. В зависимости от ситуации это может быть как плохо, так и хорошо для вашей сетки. Неправильное размещение звезд может привести к артефактам на сглаженной модели. Если в вашей сетке есть звезды, то посмотрите откуда они взялись и несут ли в себе какую-то практическую функцию. Желательно избегать звезд в сгибах, складках и подобных сложных участках, так как при подразделении с большой вероятностью это повлияет на корректность отображения вашей поверхности. Это, опять же, тот случай, когда понимание таких моментов приходит с опытом и насмотренностью. Делайте топологию свой модели вдумчиво, смотрите на результат.

Ряд примеров того, в каких ситуациях появляются звезды.

E-pole — полюсы, которые состоят из пяти ребер, пересекающихся в одной вершине.

N-pole — полюсы, которые состоят из трех ребер также пересекающихся в одной вершине.

Hold edges (support edges, поддерживающие ребра) — подразделение поверхностей создает сглаженную поверхность модели. При помощи топологии мы можем контролировать силу сглаживания. Расстояние между ребрами определяет то, насколько сильно сгладится поверхность. Поддерживающие ребра призваны помочь нам удержать форму в тех местах, где это необходимо. Также во многих современных 3d редакторах есть такая функция, как Edge Creasing (иногда ее называют Edge Weighting или вес ребра) — заострение ребра. Эта функция позволяет задать «натяжение» на выбранных ребрах. В целом Hold edges также является очень мощным и многофункциональным инструментом, который можно и нужно использовать и знать, как он работает.

Пример применения hold edges слева направо: без поддержек, с обычными поддержками (support edges), edge creasing. Как видите, они дают очень разные результаты. Пробуйте и экспериментируйте с hold edges чтобы лучше понять, как они работают.

Еще один пример работы с support edges. Также на этом примере можно отследить edge loops, poly loops и poles.

Немного о топологии в Low Poly

Процесс создания модели для игры включает в себя такой процесс, как ретопология. Суть его в том, чтобы на основе вашей high poly модели сделать ее облегченную версию, которая будет, скажем так, «облеплять» high poly модель. Это необходимо для процесса запекания (baking) и дальнейшей выгрузки готовой модели в движок. Работа с low poly связана с упрощением модели и сокращением числа полигонов, но при этом важно не потерять силуэт модели — ее ключевые формы. В процессе создания low poly модели вам надо будет избавиться от support edges, лишних edge loops, которые не влияют на силуэт и форму модели, сократить количество граней на цилиндрах, избавиться от фасок, удалить скрытые полигоны, сшить пересекающиеся элементы, проверить врезки «элемент в элемент», иначе говоря пересекающиеся элементы. Так же как и в high poly, в low poly нет четких условий в моделировании — все ситуативно и необходимо смотреть на финальный результат, при необходимости возвращаясь назад и внося корректировки. Давайте возьмем за основу принцип «отрезать все лишнее и ненужное, оставляя суть модели». На этом этапе нас уже не интересует SubD, нам важна легкая, упрощенная модель дающая четкий силуэт, которую мы сможем триангулировать и отправить на запекание\в движок. Пробуйте, смотрите, экспериментируйте. Понимание аспектов создания low poly также приходит с опытом и насмотренностью.

Несколько примеров того, как могут выглядеть LowPoly модели. Разница с HighPoly очевидна, не так ли?

Итак, давайте подытожим

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

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

Треугольники и многоугольники (n-gons) это не всегда плохо. Но стоит учитывать, что в некоторых ситуациях они могут создать артефакты на вашей модели после применения SubD (например на углах, или цилиндрических формах). Соответственно, создавайте модель вдумчиво, ориентируйтесь на визуальный результат. Ну и конечно помните о том, что хорошая сетка, это сетка на квадах.

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

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

Естественность направлений петель — наблюдайте, насколько естественно и логично ложатся ваши петли в сетке модели.

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

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

Учитывайте всю информацию, что прочли выше, практикуйтесь, изучайте работы художников и у вас все получится!

3D-графика: что это, элементы, примеры трехмёрной графики

Дизайн  •  01 марта  2023  •  5 мин чтения

Рассказываем на примерах, где используется 3D-графика, и разбираем этапы её создания.

  • Что такое трёхмерная графика
  • История развития 3D
  • Сферы применения трёхмерной графики, примеры 3D-объектов
  • Элементы трёхмерной графики
  • Особенности работы с 3D-графикой
  • Этапы создания трёхмерного изображения
  • Совет эксперта

Что такое трёхмерная графика

Этот милый покемон создан при помощи 3D-моделирования. Источник: Sketchfab

3D-графика — одна из технологий создания CGI (от англ. Computer-Generated Imagery, «изображения, сгенерированные компьютером»). А 3D-моделирование — создание трёхмерных объектов при помощи специальных программ.

3D-объекты используются в веб-дизайне, интерфейсах мобильных приложений, виртуальной и дополненной реальности — VR и AR. Персонажи игр и фильмов тоже могут быть созданы с применением 3D-технологий.

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

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

История развития 3D

Трёхмерная компьютерная графика появилась в 1960-х годах. Первые векторные изображения состояли из множества точек и кривых, заданных математической формулой. Айван Сазерленд и Дэвид Эванс основали первую в мире кафедру компьютерной графики в университете Юты, США. Именно в те времена появилась программа Sketchpad (от англ. «альбом для рисования») — предок всех современных 3D-редакторов.

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

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

В 1984 году вышел первый короткометражный мультфильм в технике 3D — «Приключения Андре и пчёлки Уолли». А в 1995 году на большой экран вышел первый полнометражный 3D-фильм «История игрушек»

Основой современной трёхмерной графики стали математические концепции. Невозможно задать поверхность в пространстве без знания геометрии и владения функциями. Но сейчас, чтобы создать 3D-изображение, дизайнеру не нужно выполнять сложные математические расчёты — это сделает программа. Например, 3ds Max, Cinema 4D, Blender, ZBrush, Autodesk Maya, Unreal Engine, Houdini.

Рекомендуем начать знакомство с 3D-графикой с Blender, он бесплатный и многофункциональный

Сферы применения трёхмерной графики, примеры 3D‑объектов

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

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

Платформа Chirpley помогает связать компании с микроинфлюенсерами на основе данных искусственного интеллекта. На их веб-сайте много трёхмерных мультяшных изображений

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

Google Earth — приложение, в котором земля представлена в виде виртуального трёхмерного глобуса и даже отдельные части земной поверхности детализированы в виде 3D-моделей

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

Пользователи Apple видят 3D-эффект всякий раз, когда на их айфоне активируется Siri. Источник: Dribbble

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

Вся среда игры Monument Valley 2 построена из 3D-объектов, созданных в программе для разработки игр Unity

В медицине. Стоматологи и хирурги моделируют, а после печатают на 3D‑принтере импланты и протезы.

В Maestro 3D можно спроектировать зубные протезы и полностью спланировать ортодонтическое лечение

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

Эффектная визуализация будущего проекта позволяет ещё на старте привлечь заказчиков и инвесторов. Источник: ArchDaily

Промышленный дизайн (англ. Industrial Design). С его помощью разрабатывают предметы повседневного использования — от автомобилей и бытовой техники до электроники и игрушек. Одни дизайнеры создают компьютеры или смартфоны, другие — спортивный инвентарь или мебель.

Этот автомобиль выглядит совсем как настоящий, но это тоже 3D-модель, спроектированная в программе Rhino 7. Источник: McNeel Forum

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

Зарабатывайте с помощью творчества — уметь рисовать не обязательно

Пройдите бесплатную вводную часть курса «Графический дизайнер», чтобы попробовать себя в профессии

Элементы трёхмерной графики

Чтобы лучше понять, как работает 3D-графика, обратимся к её предшественницам — растровой и векторной графике.

Растровая, векторная, полигональная графика

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

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

Трёхмерная графика возникла в результате развития векторной графики. Компьютеры стали мощнее, это позволило добавить третье измерение (ось z) и усложнить методы «описания» изображений. Теперь плоский кружок может превратиться в объёмный шарик.

В растровой графике рисунок описывается как сетка пикселей. В векторной рисунок задаётся как координаты объектов по осям x и y. В трёхмерной добавляется третье измерение — ось z

Можно описать любую фигуру, задавая координаты точек в пространстве.

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

Из многоугольников — составить другие объекты, например сферу.

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

Полигональная сетка — это объединение рёбер, граней и вершин, которые задают форму многогранного объекта в трёхмерной компьютерной графике. Чем больше используется полигонов, тем более детально удаётся представить объект.

Любое трёхмерное изображение состоит из полигонов. Источник: Sketchfab

Когда трёхмерная графика представляется как растровая

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

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

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

Этап, когда трёхмерная модель превращается в 2D-растровое изображение, называется «рендеринг». В процессе рендеринга можно использовать сложные эффекты: туман, тени, световые блики, оптические искажения.

Как работает рендеринг

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

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

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

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

Особенности работы с 3D‑графикой

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

Разберём этапы разработки статичного 3D-изображения с декоративной или информационной функцией в JPG, PNG или WebP:

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

2. Продакшн. Это процесс производства сцены в выбранной технологии. Например, моделлер создаёт объект по эскизу, а визуализатор отвечает за рендеринг, текстурирование, освещение.

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

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

Когда создают 3D-анимацию, порядок этапов остаётся прежним, только постпродакшн переходит в программы видеомонтажа и VFX (от англ. visual effects, «визуальные эффекты»).

Этапы создания трёхмерного изображения

Изготовить 3D-модель можно за три шага:

1. Моделирование — придать объекту нужную форму.
2. Создание макета и анимации — задать объектам расположение в пространстве.
3. 3D-рендеринг — получить финальное изображение.

Этап 1. Моделирование

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

Этап 2. Создание макета и анимации

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

Этап 3. 3D-рендеринг

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

Совет эксперта

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

Статью подготовили:

Еженедельный дайджест блога Практикума

Подписаться

Поделиться

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

Не плагиат, а вдохновение: зачем нужны референсы в дизайне

Читать статью

Востребованные профессии в дизайне: какое направление выбрать?

Читать статью

Лето ― самое время выбрать новую профессию, не спеша пройти бесплатный курс и начать карьеру в IT.

5 простых фактов для производителей мебели

5 фактов, которые должны знать производители мебели

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

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

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

№1. Многоугольники — это базовые геометрические компоненты 3D-модели

Геометрия многоугольника состоит из прямых ребер и вершин. Образованная плоскость называется гранью, которая обычно представляет собой трехстороннюю геометрическую форму, или «треугольный многоугольник». Также существуют четырехсторонние «четверки» и «n-угольники» с несколькими вершинами. Каждый полигон соединяется с другими полигонами, и вместе они создают полигональную сетку, которая по сути является 3D-моделью. Итак, отвечая на вопрос «что такое полигоны в 3D-моделировании?» мы говорим, что они являются ключевыми компонентами любого 3D-объекта.

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

№2. С помощью полигонального 3D-моделирования компьютерные художники могут создавать любые формы

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

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

№3. Каждый полигон и полигональная сетка легко модифицируются 

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

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

#4. Существуют высокополигональные и низкополигональные 3D-модели 

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

В свою очередь, низкополигональное 3D-моделирование позволяет CG-художникам создавать 3D-объекты для интерактивных CG-решений, таких как 360-градусный обзор, 3D-конфигуратор продуктов , VR/AR-приложения, игры и т. д. Дело в том, что чем меньше полигонов , тем быстрее 3D-объект может быть отображен движком в режиме реального времени. В результате каждый объект выглядит реалистично и плавно перемещается в приложении или движке.

№5. CG-художники часто делают ретопологию для оптимизации 3D-моделей

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

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

Скачайте прайс-лист CGIFURNITURE и узнайте стоимость топовых проектов 3D визуализации разного масштаба!

Посмотреть наши цены

Итак, что такое полигоны в 3D моделировании и как заказать нужный тип 3D моделей? Помните, что количество полигонов и плотность сетки напрямую влияют на качество 3D-элементов. Следовательно, высокополигональные и низкополигональные 3D-модели служат разным целям. Если вам нужны качественные компьютерные изображения и 3D-анимация, заказывайте высокополигональные 3D-объекты. Но когда дело доходит до обзора 360°, 3D-конфигуратора и приложений VR/AR, работают только низкополигональные. Имейте в виду, что художники компьютерной графики всегда могут преобразовать высокополигональные 3D-объекты в низкополигональные с помощью 3D-ретопологии, но не наоборот.

Нужны первоклассные 3D-модели для маркетинга и продвижения вашего продукта? Нажмите на эту ссылку, чтобы связаться с нами для услуг 3D-моделирования , и вы получите высококачественные 3D-объекты всего за 48 часов!

Черная книга Майкла Абраша по программированию графики, специальное издание: The Polygon Primeval

Черная книга Майкла Абраша по программированию графики, специальное издание: The Polygon Primeval
Предыдущий Содержание Следующий

Эффективное и быстрое рисование полигонов

Дайте мне только одну твердую точку, на которой я могу стоять, и я переверну Землю.

Архимед

Если бы Архимед жил сегодня, он мог бы сказать: «Дайте мне хотя бы одну быструю процедуру заполнения полигонов, которую я могу вызвать, и я нарисую Землю». столь же фундаментальным и гораздо более полезным. Заполненные полигоны можно использовать для таких разнообразных конструкций, как один пиксель или трехмерная поверхность, а также практически все, что находится между ними.

Я потрачу некоторое время на эту главу и несколько следующих на разработку подпрограмм для рисования заполненных многоугольников и построения более сложных графических операций поверх этих подпрограмм. Как только у нас будет эта основа, я перейду к 2D-манипулированию и анимации полигональных объектов в качестве предисловия к изучению 3D-графики. Вы не можете добраться сюда, не заложив основы, поэтому в этой главе я начну с основ заполнения многоугольника. В следующей главе мы увидим, как рисовать многоугольник значительно быстрее. Вот мой общий подход к такого рода темам: сначала высокоуровневое исследование графической темы, а затем быстрая аппаратная реализация для комбинации IBM PC/VGA, наиболее широко используемой графической системы. Абстрактная, машинно-независимая графика — это прекрасно, но только понимая графику на всех уровнях, включая аппаратное обеспечение, вы можете повысить производительность до уровня возвышенного.

И медленная компьютерная графика вряд ли стоит заморачиваться.

Закрашенные полигоны

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

Многоугольники можно разделить на три категории: выпуклые, невыпуклые и сложные, как показано на рис. 38.1. Выпуклые многоугольники включают в себя то, что вы обычно считаете «выпуклым» и многое другое; насколько нам известно, выпуклый многоугольник — это такой многоугольник, у которого любая горизонтальная линия, проведенная через многоугольник, встречается с правым краем ровно один раз и с левым краем ровно один раз, исключая горизонтальные сегменты и сегменты ребер нулевой длины. Иными словами, ни правый, ни левый край выпуклого многоугольника никогда не меняют направление сверху вниз или наоборот. Кроме того, правый и левый края выпуклого многоугольника не могут пересекаться друг с другом, хотя они могут касаться друг друга до тех пор, пока правый край никогда не пересекается с левой стороной левого края. (Посмотрите на второй многоугольник, нарисованный в листинге 38.3, который определенно не является выпуклым в обычном смысле.) Границы невыпуклых многоугольников, с другой стороны, могут идти в любом направлении, как им заблагорассудится, до тех пор, пока они никогда не пересекаются. Сложные многоугольники могут иметь любые границы, которые вы только можете себе представить, что создает интересные проблемы при принятии решения о том, какие внутренние пространства заполнять, а какие нет. Каждая категория является надмножеством предыдущей.

(См. Главу 41 для более подробного обсуждения типов полигонов и присвоения имен.)

Зачем различать выпуклые, невыпуклые и сложные многоугольники? Легко: производительность, особенно когда речь идет о заполнении выпуклых полигонов. Мы собираемся начать с заполненных выпуклых многоугольников; они широко полезны и хорошо послужат для ознакомления с некоторыми более тонкими сложностями рисования многоугольников, не последней из которых является скользкое понятие «внутри».

Какая сторона внутри?

Основной принцип заполнения многоугольника заключается в разбиении каждого многоугольника на ряд горизонтальных линий, по одной на каждую горизонтальную строку пикселей или строку сканирования внутри многоугольника (процесс, который я назову преобразование сканирования ), и рисование горизонтальной линии. Я буду называть весь процесс растеризацией. Растеризацию выпуклых многоугольников легко выполнить, начав с вершины многоугольника и двигаясь вниз по левой и правой сторонам, по одной строке сканирования (один вертикальный пиксель) за раз, заполняя экстент между двумя краями на каждой строке сканирования, пока не нижняя часть полигона достигнута. На первый взгляд растеризация не кажется особенно сложной, хотя должно быть очевидно, что этот простой подход не подходит для невыпуклых многоугольников.


Рисунок 38.1    Выпуклые, невыпуклые и сложные многоугольники.

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

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

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


Рисунок 38.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *