Что такое топология в 3d. Отображение полигональной сетки

28.03.2019

Навигация :

Modding:О топологии. Часть 1: Треугольная топология

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

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

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

Учтите, что все, что будет сказано в дальнейшем, будет опираться на такое мое (чисто практическое) понимание топологии, и может быть с легкостью поставлено под сомнение любым программистом или математиком. Поэтому имейте в виду, что когда я говорю «топология », я подразумеваю сетку (wire ) объекта.

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

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

В статье описываются самые распространенные термины и их значения, которые помогут вам сориентироваться в непростом, но таком привлекательном 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, чтобы проработать мелкие детали.

Тема разговора: ТОПОЛОГИЯ .

Тополо́гия (от др.-греч. τόπος — место и λόγος — слово, учение) — раздел математики, изучающий в самом общем виде явление непрерывности, в частности свойства пространства, которые остаются неизменными при непрерывных деформациях, например, связность, ориентируемость. В отличие от геометрии, в топологии не рассматриваются метрические свойства объектов (например, расстояние между парой точек). Например, с точки зрения топологии, кружка и бублик (полноторий) неотличимы.

Hо это в математике. А как дела обстоят с персонажами. Сформулирую своими словами.
Топология - это способность сетки корректно реагировать на деформации. Будь то анимация, cжатие, растяжение или иные виды деформации. Достигается это путем грамотного построения полигональной сетки персонажа. Есть некоторые правила для этого. С некоторыми из них можно ознакомиться .

Так же существует понятие РЕ-ТОПОЛОГИЯ . Изменение топологической сетки с максимальным сохранением формы объекта. Целью ретопологии является исправление предыдущей (неверной) топологии и/или уменьшению количества полигонов.

Практически все современные пакеты 3д графики имеют инструменты для ретопологии. Я лично опробовал:
1. Maya - как стандартные средства так и плагины.
2. Max - стандартные средства (ужас), плагины и скрипты (wrapit понравился. но опять же не то немного)
3. Zbrush - туго и неудобно..
4. Topogun - наконец то нашел то что понравилось... если бы не повстречал
5. 3DCoat.... вот тут я понял, что это пока самое удобное для ретопологии и UV разверток... хотя разобраться было для начала сложно.. но когда понял принцип программы - все.. теперь ретопология только в нем. (не сочтите за рекламу.)

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

нашел таки старый рендер этой головы.


топология лица человекоподобного персонажа. из него можно сделать как женщину,так и ребенка... не говоря уже о мужчине.
и вот доказательство. сделано по быстрому, но наглядно.
итак. мужчина, ельфийка, существо, женщина, и девочка лет 15...
Я не утверждаю что это единственная грамотная топология, и что надо делать ТОЛЬКО ТАК.
в некоторых студиях персонажей моделируют с закрытыми глазами. Это позволяет избавиться от некоторых проблем при закрытии глаза, и избежания деформаций века при деформации щеки.

кисть руки.



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


череп мужской. у мужского и женского черепа много различий.




заключаются отличия в следующем:
Мужской и женский черепа имеют ряд отличий. А именно:
1. Мужской череп массивнее женского и имеет скорее квадратную форму. Череп женщины слегка заострен к макушке и более округлый.
2. Верхний край глазницы немного заострен у женского черепа, в то время как у мужского имеет более плавный изгиб
3. В результате эволюции мышцы лица получили более сильное развитие. Следовательно, и место крепления мышц к черепу гораздо заметнее у мужчин. Ведь воину и охотнику нужны мощные челюсти для боя и борьбы.
4. Сильная нижняя челюсть мужчины имеет квадратную форму, а у женщин форма округлая.
5. Глубина черепа мужчин больше чем у женщин. Это обеспечивает относительную безопасность.
6. Надбровные дуги на мужском черепе выступают заметно больше. Они оберегают глаза от прямых солнечных лучей.
7. Клыки у мужчин значительно крупнее, чем у женщин. Воин и охотник вынужден был, есть в походных условиях, а, следовательно, активно пережевывать пищу и делать это достаточно быстро.
Рука и тело.
Если тело женское или без явно выраженной мускулатуры, то на лупы формирующие мускулы можно не обращать внимания. Это касается рук. Обращаю внимание на полигоны белого цвета. они идут из под грудной мышцы и огибают дельтовидную.

Этот урок послужит хорошим стартом для тех, кто хочет научиться моделировать первоклассных персонажей. Знаменитый в своем круге Jahirul Amin расскажет о важности правильной топологии, равномерной сетки, важности четырехугольных полигонов и многое другое.

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

Введение

Когда геометрия становится подспорьем моделера или аниматора, идеальная компоновка сетки (она же меш) стоит на первом месте. После этого в игру должна вступить хорошая топология, снижающая количество дефектов при анимации персонажа. Другими словами, правильно (и вовремя) созданный полигон сохранит не то, что часы – дни вашей жизни.

3-х угольник vs 4-х угольник vs N-угольник

Итак, в чем же разница между 3-, 4- и N-угольными полигонами? Ответ очевиден: у первого 3 стороны, у второго – 4, у третьего – любое их количество, большее 4-х. Если вы моделируете допустим персонажа для дальнейшей его анимации, то рекомендуют использовать только четырехугольники . Процесс деформирования и деления четырехугольных полигонов проходит гораздо проще, к тому же, вы столкнетесь с меньшим искажением текстуры.

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

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

Радости четырех и трехугольных полигонов и ужас N-угольника

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

Для выполнения описанной задачи в Maya предусмотрен инструмент Sculpt Geometry.

Инструмент Sculpt Geometry в Maya поможет «разгладить» сетку модели

Отвечает за плавность перехода каждого отдельно взятого эджа (оно же Edge Flow). Звучит, может, и просто, но на практике это весьма коварная штука.

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

Для стилизованных и мультипликационных персонажей Edge Flow имеет куда меньшее значение. Но, всё же, я настоятельно рекомендую получить хотя бы базовое представление анатомии человека.

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

Она же – немногообразность (non-manifold). Означает, что трёхмерный объект невозможно разрезать и превратить в плоским.

Пример: создайте куб, выделите любое ребро (край) и выдавите его Edit Mesh > Extrude. Перед вами немногообразный объект. (Пример ниже слева) Если бы куб был изготовлен из бумаги, то при развёртывании вы бы получили крестообразную фигуру с нарушенными пропорциями. Использование подобного объекта в булиевых операциях (Boolean operation) практически невозможно.
Чтобы исправить ситуацию, воспользуйтесь инструментом Cleanup.

Нарушение топологии геометрии может создать не один десяток проблем. Будьте бдительны и периодически осматривайте фигуру под разными углами.

У каждой петли (ребра эджа) должна быть цель

Как правило, моделирование начинается с примитивной фигуры (например, с куба), строение которой впоследствии усложняется путем добавлении петлей ребёр (edge loops).

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


Не усложняйте себе жизнь: детализация должна быть целесообразной

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

Присмотритесь к поверхности, ее структуре и тени. Как она отражает свет? Как происходит процесс деформации? Ответ на эти и другие вопросы поможет вам принять правильное решение при моделировании любого объекта.

Знаменитые 3D-художники дают советы по моделированию начинающим специалистам и делятся секретами с профессионалами.

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

«В моделировании используйте как можно меньше инструментов» Luca Nemolato

Совет №1: Палочка-выручалочка

«Такие инструменты как Select N Edge, которые можно найти в бонусных инструментах Maya (и подобные им инструменты в других программах по моделированию), помогают быстро создавать складки в мешах с плотной сеткой, таких как, корзины, пучок проводов и пр.», — говорит Carlos Ortega Elizalde .

Свободно пользуйтесь «приемчиками» для моделирования, всегда помня, что в любой момент результат можно подправить

Совет №2: Деформируйте детали

«Вы можете быстро создать сложный меш с помощью деформеров и выделений. Но тайловая плоскость, полученная с помощью деформера - всего лишь полдела. Настоящим вызовом является создание сложного, но привлекательного объекта», — говорит Carlos Ortega Elizalde.

Тайловые поверхности - чудесный способ сделать работу более детализированной

Carlos Ortega Elizalde - большой фанат инструмента Select N Edge, который он использует для детализации своих работ. Carlos Ortega Elizalde

Совет №3: Будьте проще

«В моделировании используйте как можно меньше инструментов. Обычно я использую дефолтные кисти ZBrush такие, как Standard, Clay, Clay Tubes, Move и DamStandard. Основной объем и формы я создаю с помощью Clay Tubes, затем прорабатываю меш с помощью кисти DamStandard», — говорит Luca Nemolato .

Моделирование станет достаточно сложным процессом, если вы воздержитесь от использования ненужных инструментов

«Beast» — работа из частной «копилки» Luca Nemolato, созданная им в ZBrush. Luca Nemolato

Совет №4: «Латайте» дыры четырехугольниками

«Если вы используете команду Close Holes (из меню Modify Topology) в ZBrush, чтобы «залатать» дыры в геометрии, «заплатка» генерируется из треугольников. В дальнейшем работать с этими треугольниками очень неудобно. Их можно легко конвертировать в четырехугольники, кликнув на полигруппе треугольников с зажатыми Ctrl и Shift, чтобы изолировать их полигруппу, затем перейдите в меню ZRemesher, включите опцию FreezeBorder и нажмите на кнопку ZRemesher. Теперь «заплатка» состоит из четырехугольников. Они все еще не идеальны, но всяко лучше треугольников», — говорит José Alves da Silva .

Иногда проще фиксить проблемы по мере их возникновения

José Alves da Silva создал эту иллюстрацию для фестиваля Trojan Horse Was a Unicorn

Совет №5: Фокусы на местности

«При моделировании объекта используйте режим Edit poly вместо режима Edit Mesh, что даст доступ к важным инструментам, не приведет к печальным последствиям на рендере, таким как вывернутые нормали или непонятные эджи на фейсах и пр. В 3Ds Max я обычно использую шикарнейший скрипт Populate Terrain с сайта www.populate3d.com , чтобы пофиксить фейсы ландшафтов или других объектов, полученных из AutoCAD-файлов клиентов», — говорит Sérgio Merêces .

Если вы раз за разом сталкиваетесь с одной и той же проблемой, скорее всего ее можно пофиксить с помощью скрипта

Совет №6: Дела органические

«ZBrush отлично справляется со всем, что касается органики. Если мне, например, нужно заскалптить скалы, я просто открываю ZBrush и делаю набросок будущей модели с помощью ZSpheres, затем применяю команду DynaMesh и скалпчу, скалпчу. Затем, в какой-то момент, я делаю геометрии ретопологию и продолжаю ее детализировать. Постоянно использую слои, поскольку это безобидный для геометрии способ работы. В конце я уменьшаю плотность сетки объекта и импортирую его в 3Ds Max, чтобы «засадить» им сцену», — говорит Toni Bratincevic .

Моделировать объекты лучше в разных приложениях

Совет №7: Не будьте одержимы топологией

«Задумывайтесь всерьез о сетке персонажа, только если впоследствии для него будет делаться ригг. В противном случае это может стать пустой тратой времени. Многие художники, работающие в ZBrush, на финальных стадиях работы в условиях с ограниченной подачей кислорода кидают все свои последние силы на ретопологию персонажа с помощью Decimation Master или ZRemesher. Успокойтесь. Плохая топология не преследуется по закону. Спокойно работайте и создавайте хорошую сетку только тогда, когда это действительно важно», — говорит Alex Alvarez .

Alex Alvarez обещает, что плохая топология не будет преследоваться по закону

Для создания лесного ландшафта Alex Alvarez использовал Maya, mental ray, Paint Effects, Onyx и ZBrush. Сцена из личной копилки Alex Alvarez и насчитывает порядка 110 млн. полигонов. Alex Alvarez

Совет №8: Очень даже будьте одержимы топологией

«Топология очень важна для органики (для лица особенно). Корректная сетка меша вокруг глаз и рта может сильно помочь при скиннинге или липсинке. Сводите эдж лупы в районе носа или щек и избегайте треугольников на видимых участках геометрии», — говорит Andrew Hickinbottom .

Топология лица стоит потраченного на нее времени

Совет №9: Поза имеет значение

«При позиционировании персонажа, особенно в пин-апе, задумайтесь о силуэте и смысловой нагрузке позы. Пусть поза подчеркивает формы, объемы, кривые и углы. Наклоните таз персонажа, переместите его вес на одну ногу, что создаст S-образный силуэт, образцово-показательный для пин-апа», — говорит Andrew Hickinbottom.

При моделировании людей не забывайте о важности их позы

Работа «Kitty Kay» из личной копилки Andrew Hickinbottom, оживленная силой скилла моделирования Эндрю. Andrew Hickinbottom

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

Детали и реализм были ключевыми моментами, когда Meny Hilsenrad и студия Aiko работали над проектом miCoach для бренда Adidas

Пытайтесь!

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

«Плохая топология не преследуется по закону. Спокойно работайте и создавайте хорошую сетку только тогда, когда это действительно важно» Alex Alvarez