Найти в Дзене
rabbitGraned Animation

О важности соблюдения принципов subdiv-моделирования при работе с UV

Небольшое уточнение. Здесь я описываю вещи, которые в первую очередь опираются на пайплайн работы в Maya. Поскольку эти процессы в большинстве своём универсальны, они не принадлежат конкретно этому софту. Однако мне стоило обозначить этот момент. Предисловие На написание этой груды обо-всём-и-ни-о-чём текста меня сподвиг один, если его можно так назвать, «баг», с которым я столкнулся при работе над моделью стола из не свойственного для меня проекта. А баг он потому, что воспроизвести эту проблему в таком же виде на другом идентичном куске геометрии не получилось, хоть эта проблема и довольно распространена, когда речь заходит о сглаживании UV. В связи с чем я решил записать несколько рассуждений о проблемах сглаживания UV в subdiv'ном моделировании. Здесь не будет конкретных примеров или инструкций по решению определённых задач, только описание проблем. Моделирование под сглаживание или subdivision-моделирование – вещь довольно предсказуемая, в том случае, если сетка модели выстраивает
Оглавление

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

Предисловие

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

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

В связи с чем я решил записать несколько рассуждений о проблемах сглаживания UV в subdiv'ном моделировании.

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

Общее о subdivision и сетке

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

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

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

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

Увеличение плотности сетки – в первую очередь вопрос оптимизации, потому как это увеличивает фактическое количество полигонов в сцене, и такую сетку сложнее контролировать.

В связи с чем, для получения необходимой формы, используется минимально-необходимое число рёбер.

Однако проблема, к которой может привести, в свою очередь, недостаточная плотность сетки, заключается в растяжения геометрии при сглаживании. И, если проблема слишком большого оттягивания рёбер критична только на углах, то растяжения на плоскости приведут и к растяжению UV.

Проблема сглаживания UV-развёртки

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

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

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

Длинные полигоны – вещь довольно тривиальная, и лечится за счёт добавления бо́льшего количества резов.

Сглаживание восьмиугольников

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

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

В самом простом варианте, лечится это добавлением дополнительных лупов.

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

Заключение

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

Включённый чекер (шашечки) при работе с UV и периодическое применение сглаживания в момент нарезания (режим нажатой клавиши «3» в Maya), чтобы уже в процессе выявлять искажения, – пожалуй, главный инструмент, который сможет облегчить этот трудоёмкий процесс.

ТГК: t.me/rabbitGranedAnimation

ArtStation: rabbitgraned.artstation.com