Приемы Hard Surface моделирования для Gamedev — Gamedev на DTF

Ян Шамарин

29 014 просмотров

Вступление

В этой статье расскажем про четыре способа создания high poly моделей. В качестве эксперта выступит Ян Шамарин. Ян уже более 5 лет в индустрии. Работал 3D-моделлером в рекламном продакшне, позже перешел в GameDev – занимал позицию Lead 3D Artist в студии Hazmob. Сейчас работает фрилансером на геймдев проектах и преподает курс «Hard Surface. WeaponHard Surface. Weapon». Специализируется на создании Hard Surface моделей.

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

Требование к ассетам

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

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

Важные аспекты качественной модели

  • Работа с референсами: подбор, анализ, внимание к деталям.

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

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

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

  • Шейдинг low poly модели.

Нечеткие грани и градиенты на модели слева, говорят о том, что визуальный шейдинг модели неисправен. Модель справа – это пример правильного шейдинга low poly-модели, с которой не будет никаких проблем.

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

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

Есть очень простой способ сделать это: на угол менее 60° нужно назначить soft edge, больше 60° – hard edge.

  • Шейдинг на high poly моделях.

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

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

С неправильным шейдингом вся некачественная информация запечется на карты детализаций, нормалей и на все вспомогательные карты. Это дойдет и до самого финала, а чтобы исправить ошибку придется вернуться почти на самый первый этап – high poly.

  • Топология

High Poly

На каждом проекте свои требования к high poly модели. В целом, к сетке особых требований не предъявляют. Главное, чтобы модель была качественной на шейдинге.

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

Low Poly

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

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

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

Четыре способа создания high poly моделей

За время работы с hard surfase, Ян выделил для себя четыре основных способа создания high poly моделей: Классический SUBD, Cad-моделирование, Boolean to Dynamesh в ZBrush, Boolean to SUBD в любом полигональном редакторе (Maya, 3Ds Max, Blender и т.д.)

Классический SUBD

Суть метода.

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

Достоинства метода.

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

Недостатки метода.

  • Скорость создания объектов. Работа методом сабдива – довольно длительный процесс. В коммерческом продакшне это не всегда позволительно.
  • Трудно создавать сложные формы. Не каждый художник-моделлер сможет создавать сложные формы этим методом. А у тех, кто может, это занимает много времени (см. предыдущий пункт).
  • Чистка high poly под low poly занимает очень много времени. Чистка сабдива может занять столько же времени сколько и создание high poly. В идеале на low poly должно уходить в три раза меньше времени.
  • Сабдив требует очень много времени для изучения. Чтобы стать крутым сабдив-моделлером, нужно минимум два-три года. Я начинал с рекламного продакшена и моделил только под сабдив – 2-3 часа перед работой, затем 8 часов на работе и 2-3 часа после. Только через два года ко мне пришло понимание, что я смогу сделать модель любой формы, которая может понадобиться.

CAD моделирование

Суть метода.

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

Достоинство метода.

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

Недостатки метода.

  • Сложность редактирования после перевода в полигоны. Модели, состоящие из NURBS поверхностей, не воспринимаются движками и софтом для полигонального моделирования. Чтобы экспортировать такую модель, ее нужно перегнать в полигоны – внутри любого кадовского софта есть необходимый функционал. В процессе модель будет разделена на большое количество абсолютно рандомных треугольников. Это усложняет работу с сеткой и лишает гибкости редактирования формы. Чтобы что-то исправить придется вернуться в CAD, внести изменения и опять экспортировать. Из этого выплывает следующий минус.
  • Низкий контроль над low poly. При экспорте модели из CAD, нельзя задать необходимое количество трисов и граней. И уж тем более нельзя задавать параметры для отдельных частей модели – все будет рандомно. После CAD всегда придется что-то чистить руками.

Boolean to Dynamesh (ZBrush)

Суть метода.

Болванка модели и объекты для булевых операций создаются в Maya. Булевые операции проводятся в ZBrush, при помощи инструмента Live Boolean. Для сглаживания фасок между сочленениями используется Dynamesh и Polish, после чего к модели применяется Decimate.

Достоинства метода.

  • Относительная простота. Этот метод осилит каждый, кто умеет пользоваться инструментарием.
  • Высокая скорость создания сложных форм. Не нужно ничего вымоделивать – просто совместили заготовки, провели булевые операции, применили Dynamesh. Это просто и колоссально быстро.
  • Практически не требуется время на создание low poly. Лишние трисы вычищаются очень быстро, по сравнениею с моделью, сделанной под сабдив. В этом методе high poly и low poly создаются из одной и той же болванки, что позволяет уйти от этапа ретопологии.
  • Live Boolean в Zbrush. Используя Live Boolean вы получаете меш, который можно деформировать в реальном времени. Кроме этого, Live Boolean позволяет хранить в сцене все объекты, которые взаимодействуют в Boolean, и историю работы с ними.
  • Очень высокий контроль над будущей low poly. Количество граней и сечений модели задается еще на этапе болванки, что делает будущую low poly сетку предсказуемой.
  • Правильные группы сглаживания после булевых операций. В ZBrush мы булим модель под high poly. Здесь группы сглаживания на сохраняются. Для создания low poly берется эта же болванка и булится в Maya (Max, Blender), которые сохранят группы сглаживания. Правильные группы сглаживания дают возможность сделать развертку нажатием одной кнопки – сетка режется по хардам в один клик.

Недостатки метода.

  • Сложность редактирования high poly для правки. После булевой операции и экспорта из ZBrush нельзя редактировать сетку. Да, есть возможность откатиться для редакции обратно в ZBrush, но это неудобно. Так что на это нужно обращать внимание.
  • Равномерные фаски по всей длине. Модель с равномерными фасками теряет реалистичность и считывается как 3D. Решить это просто. Можно скорректировать толщину фасок на low poly, либо уже после динамеша смузом убрать остроту фаски в нужных местах.

Boolean to SUBD

Суть метода.

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

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

Достоинства метода.

  • High poly легко редактируется, благодаря чистой топологии. В отличие от предыдущего метода, здесь сетка редактируется без каких-либо трудностей.
  • Создание SUBD через Boolean проще и быстрей. Модель состоит из куба, цилиндра и планки Пикатинни, которая была заранее вбулина в цилиндр. Вся работа после совмещения этих элементов заключалась в том, чтобы вычитать форму при помощи примитивов. После того, как болванка готова, нам остается всего лишь нарезать саппорт лупы. Это намного быстрее и понятней, чем тянуть все вертекс за вертексом, полигон за полигоном.
  • Практически не требуется время на создание low poly. Здесь то же, что и в предыдущем методе. Болванка после булевых операций – это уже почти готовая low poly.
  • Высокий контроль над будущей low poly. Количество граней, которое должно быть на цилиндре согласно ТЗ, задается перед применением булевых операций к болванке. После даже проверять не нужно. То же с остальными частями модели, где нужно следить за количеством сегментов.
  • Правильные группы сглаживания. По-настоящему тут практически везде группы сглаживания готовы к развертке. Даже если после булиана где-то проскочат ненужные харды, их можно будет скопом выделить и применить soft edge.

Недостатки метода.

  • Live Boolean в Maya и 3Ds Max. В Maya и 3Ds Max Live Boolean есть только как плагин, который привязывается к истории construction history, либо же к стеку модификаторов. Все изменения записываются в construction history, и в теории есть возможность для редактирования, но по факту далеко зайти нельзя.
  • Артефакты после булевых операций – страх всех новичков. Непонимание Boolean приводит к очень большим проблемам, вплоть до того, что он просто не будет работать. После булевых операций нужно следить, чтобы не было лишних точек. Maya любит делать двойные полигоны, точки, эджи. Это нужно фиксить.
  • Проблемы с шейдингом окружности при экспорте в ZBrush. Может показаться, что будет сложно сложно держать иерархию сцены в ZBrush, легче выполнить булевые операции в Maya, потом закинуть в ZBrush и применить Dynamesh, чтобы быстро получить гладкие фаски. Но если так сделать, появятся сломанные полигоны, отсутствие полигонов. Так как ZBrush не воспринимает многоугольники, нужно триангулировать модель полностью либо только проблемное место. Но вылезают неприятные артефакты на окружности.Эти градинеты не на изображении, а на шейдинге цилиндра. Если нужно закинуть Boolean из Maya в ZBrush и сдинамешить, вам придется подумать, как сделать так, чтобы после смуса этих градиентов не было. Возможно триангулировать только проблемную часть. Возможно, пофиксить градиенты методом полиша в ZBrush. Может быть, замаскировать грани, а остальное еще раз прополишить, чтобы убрать проблемы на шейдинге. Возможно, их даже не будет видно.

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

Заключение

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

Если же вы чувствуете, что вам не хватает скиллов и общего понимания темы, то курс «Hard Surface. Weapon» с Яном Шамариным в качестве ментора, поможет вам восполнить пробелы в знаниях и научит применять их в реальных проектах.

Статья подготовлена для портала 3DPAPA на основе доклада Яна Шамарина на конференции Games Gathering Odessa 2021.

Подписывайтесь на нас в Facebook, Telegram, Vkontakte, Pinterest.

Запечка стилизованного персонажа по ААА-пайплайну. Как запечь low poly модель.

Блог xyz school

Автор:Юрий Порубов

Привет! Мы продолжаем цикл статей по пайплайну разработки стилизованных персонажей.

Сегодня ты узнаешь, как устроен четвёртый этап ААА-пайплайна — запечка (bake), на примере нашей модели.

Прошлые статьи из цикла:
—ААА-пайплайн разработки стилизованных персонажей
—9 полезных инструментов ZBrush
—Скульпт в ZBrush от первого лица
—Ретопология (сетка)
—Развёртка (UV)

Что такое запечка

Этап запекания (bake) — полностью технический этап ААА-пайплайна, цель которого заключается в переносе детализации с хайполи модели на лоуполи с помощью специальных карт.

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

Все эти карты необходимы для следующего этапа — текстурирования.

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

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

Наиболее полезны эти карты:

— Normal Map
— Normal (Object)
— AO (Ambient Occlusion)
— Curvature
— Vertex Color (Color ID)

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

Для запечки необходимо иметь:

  • Хайполи модель (в нашем случае, это скульпт)
    С неё алгоритмы запечки будут снимать детализацию.
  • Лоуполи модель, созданную на этапе ретопологии
    К ней мы добавим запечённые карты и тем самым перенесём информацию с хайполи модели.
  • Готовую развертку,
    Все карты пекутся именно на неё.
  • Программу для «запечки»
    Marmoset/Substance Painter/Maya/3Ds Max или любую другую.

После этого этапа, в следующей статье, мы перейдём к текстурированию, — то есть к покраске нашей модели.

Ключевая мысль этой статьи

Процесс «запечки» написан на очень сложных и чувствительных алгоритмах.

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

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

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

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

Подготовка хайполи под бейк

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

1. Прижали геометрию

    Потому что в таких местах часто появляются артефакты.

    2. Покрасили хайполи для карты Color ID

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

      Подготовка лоуполи под бейк

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

      Всё это будет сделано для того, чтобы запечка прошла без артефактов.

      Нам крайне важно не потерять исходный файл.

      Сделаем копию исходного файла: это будет отдельный файл лоуполи для запечки. Далее мы будем работать именно с ним.

      Первый шаг

      Объединяем всю топологию в один объект. Чтобы при нажатии на любую часть модели выделилась вся модель, а не конкретный элемент.

        В конце именно эту версию модели мы отправим аниматору.
        Все остальные версии лоуполи-модели — технические.

        Удаляем все элементы, на которых есть оверлапы

        На прошлом этапе пайплайна мы сделали оверлапы, чтобы сэкономить место на UV. Но в процессе запечки лишние одинаковые элементы не нужны.

        Оставляем только по одному оверлапнутому элементу на модели, остальные удаляем.

        В нашем случае это элементы на броне и перчатках.

        Слева — финальная модель. Справа — модель для запечки. Удалены объекты с оверлапами

        Разбиваем модель на несколько объектов

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

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

        Внутри каждого объекта все элементы должны находиться на расстоянии друг от друга.

        Распределяем элементы по разным объектам. Это выглядит так:

        Внутри каждого объекта элементы находятся на расстоянии друг от друга.

        Если между элементами маленькое расстояние, у них будет пересекаться Cage (зона поиска). И снова появятся артефакты. Так делать не надо:

        Объекты слишком близко друг к другу, так делать нельзя

        Что делать? Если видим, что два элемента геометрии лежат рядом, кладём их в разные группы:

        Эти два элемента клади в разные группы, так как они пересекаются.

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

        Триангулируем модель

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

        Слева — модель для запечки. Справа — финальная модель.

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

        Затем берём триангулированные группы и выгружаем в формат .obj.

        Каждый триангулированный объект = отдельный файл в формате .obj

        Каждый файл .obj состоит из одного объекта. А в этом объекте геометрия не пересекается и лежит на расстоянии.

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

        Открываем Marmoset

        Первым делом создаём новые группы в бейкере:

        В каждую группу бейкера загружаем файлы лоуполи и хайполи.

        1 группа в бейкере = 1 файл .obj с хайполи и триангулированным объектом лоуполи модели.

        Получилась такая структура внутри бейкера:

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

        — Normal Map
        — Normal (Object)
        — AO (Ambient Occlusion)
        — Curvature
        — Convexity
        — Concavity
        — Vertex Color (Color ID)

        Затем указываем расширение (размер) карт:

        Указывать нужно значение в два раза больше, чем будет в игре.
        Например, если нужны 2К текстуры для проекта, то запекаем в 4К.

        Готовую карту мы в дальнейшем уменьшим в фотошопе, зато детализация запечётся гораздо лучше.

        Другие настройки:

        Формат: .psd (или другой, как удобнее)

        Samples (уровень сглаживания): 16x (если поставить мало, то появятся «лесенки» на переходах от материала к материалу)

        Format: 8 Bits/Channel (зависит от ТЗ проекта)

        Padding Size: указываем размер паддинга равный паддингу на нашейUV.

        В нашем случае настройки такие:

        Дальше нажимаем кнопку со знаком «Р»:

        Эта функция привязывает все карты к одному конкретному материалу.

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

        Дальше мы, наконец-то, нажимаем кнопку Bake.

        Когда всё готово, в папке появятся psd файлы со всеми картами:

        Описание карт

        Изначально, до запечки, модель выглядит вот так:

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

        Normal Map

        Содержит информацию о поверхности.

        Карта создаёт виртуальные вертекс-нормали в каждой точке low poly модели и искажает поведение света. Если наложить запечённый нормал на модель, то она будет выглядеть почти как high poly.

        Это одна из самых важных карт, которая запекается почти для каждой модели.

        Более подробно о Normal Map мы писали здесь.

        Normal (Object)

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

        По сути, эта карта учитывает то, что у модели есть верхняя и нижняя часть.

        Главное визуальное отличие от Normal Map состоит в том, что на этой карте есть градиенты.

        Карта Ambient Occlusion (AO)

        Это карта затенения. Она показывает самые глубокие тени в объекте. В основном это тени в углублениях и на пересечениях.

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

        Даже когда объект ярко освещён, на нём всё равно есть тени. Именно их передаёт эта карта.

        Curvature

        Содержит информацию о глубинах и высотах.

        Чёрный цвет показывает самые глубокие и плоские места, светлый цвет — острые и максимально выпуклые.

        На самом деле, есть ещё две отдельных карты: Convexity и Concavity. Карта Convexity передаёт только информацию о высотах, а карта Concavity — только о глубинах. Если эти две карты объединить, то получится карта Curvature.

        Но я люблю запекать сразу 3 карты: Curvature, Concavity и Convexity. Так проще работать во время текстурирования. В то же время, многие трёхмерщики запекают только карту Curvature, и этого зачастую вполне достаточно.

        Convexity (необязательная карта)

        Это карта выпуклостей. Помогает класть затертости и царапины на границах форм. Эту карту можно вытащить из АО и Curvature, но иногда удобнее запечь ее отдельно.

        Concavity (необязательная карта)

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

        Vertex Color (Color ID)

        Об этой карте мы писали в статье про запечку.

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

        У нашего персонажа есть рога, броня, ткань, болты и кожа. Всё это разные материалы, которые очень легко выбирать с помощью Color ID.

        С картами разобрались.

        Этап запечки почти закончен.

        Добавляем карту нормалей к лоуполи и сразу видим результат:

        Лоуполи + Normal Map

        Финальный этап — проверить карты на ошибки.

        Проверять на артефакты нужно прежде всего Normal Map. А небольшие артефакты на других картах можно легко исправить во время текстурирования.

        Проверяем запечку на артефакты

        О нет, у нас артефакт на нормале! На модели появились небольшие странные полоски.

        Артефакты появляются по целому ряду причин. Некоторые из них мы объясняли здесь.

        Это нормально, просто артефакт нужно убрать. Для этого попробуем самые частые методы исправления артефактов:

        1. Геометрия лоуполи и хайполи не совпадает

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

        Затем грузим этот изменённый кусок обратно в Мармосет, запекаем заново, меняем Cage.

        Стало лучше, но, к сожалению, до конца не помогло. Значит, идём дальше.

        2. Геометрия на лоуполи пересекается

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

        Проверяем. В нашем случае этот кусок лежит далеко от других элементов.

        Поэтому идём дальше.

        3. Замазываем артефакт в фотошопе

        Это самый кардинальный метод, который часто помогает. Нужно открыть запечённый Normal Map и замазать артефакт вручную.

        Проблема в том, что на карте нужный кусок не так-то просто найти. Поэтому запечём одну дополнительную карту: Wireframe.

        Эта карта поможет легко найти расположение любого элемента на UV.
        А благодаря этому мы легко найдём его же на Normal Map и сможем замазать артефакт.

        Так выглядит эта карта:

        Запечённая карта WireFrame

        Ищем нужное нам место на UV.

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

        А затем открываем карту с нормалом, увеличиваем и сразу видим наш артефакт:

        Просто замазываем его:

        Отлично! Теперь никто не узнает, что на нормале был артефакт:

        4. Альтернативный метод исправления артефактов

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

        ———-

        Итак, этап запечки завершён! Мы разбили модель на группы запечки, создали все необходимые карты и убрали артефакт на нормале.

        Если ты читал прошлую статью про запечку, написанную Игорем Дятловым, ты мог заметить, что на самом деле, этот этап гораздо сложнее. Отсюда вытекает логичный вопрос:

        Почему так просто?

        Почему запечка прошла так легко и без проблем?

        Давай разбираться.

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

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

        Вот некоторые из моментов, которые всегда нужно учитывать.

        1. Правильная поза у персонажа

        У персонажа руки раздвинуты немного в сторону.
        Поэтому геометрия не слипается.

        Правильная поза для стилизованного персонажа

        Если, например, бицепс, будет пересекается с телом — в таком месте могут появиться артефакты. Вот пример, как не надо делать:

        Пример неправильной позы у стилизованного персонажа

        2. Правильная и простая группировка объектов

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

        Это делается легко и просто, зато позволяет избежать большей части артефактов во время запечки.

        Вот пример того, как делать не надо. Здесь Cage (зона поиска зелёного цвета) у двух разных объектов пересекается:

        Пример с ошибкой, которую часто допускают новички

        3. Чистый ретоп

        Мы использовали функцию с «магнитиком», и поэтому, когда мы создавали лоуполи модель, все вертексы полностью прилегали к хайполи.

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

        Вот пример плохого совпадения лоуполи и хайполи:

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

        4. На этапе UV

        Была создана ровная, без сильных потяжек,развёртка, с равномерным текселем на всех шеллах.

        Все шеллы оптимально упакованы в квадрат без лишних пустот.

        5. Продуманная модель

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

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

        6. Прижатая геометрия

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

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

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

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

        Понравилась статья?

        Хочешь получать лучшие статьи
        от XyZ раз в неделю?

        Подпишись на рассылку XyZ

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

        Чудеса в трёхмерке или закономерность?

        Хорошая трехмерка требует планомерной и системной работы. И любой, кто готов посвятить себя этому делу, научится достойно моделить!

        Дырки

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

        Бен Матис — Учебники

        Бен Матис — Учебники
        Видео

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


        Двойная гладкая

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

        Демонстрация текстурирования Beastman

        10-часовая сессия рисования текстур ускорилась до 50 минут при разрешении 1080p. В основном бодиарт. Более короткая 5-минутная версия в низком разрешении здесь.

        Демонстрация волос Ornatrix

        Использование Ornatrix в 3DS Max для создания низкополигональных плоскостей волос.

        Серия низкополигональных персонажей, Далила, часть 1

        Концепт в фотошопе.

        Серия низкополигональных персонажей, Далила, часть 2

        Орфографические изображения в Photoshop.

        Серия низкополигональных персонажей, Далила, часть 3

        Ортогональные плоскости в 3D Studio Max.

        Серия низкополигональных персонажей, Далила, часть 4

        Моделирование головы в 3D Studio Max.

        Серия низкополигональных персонажей, Далила, часть 5

        Моделирование тела в 3D Studio Max.

        Серия низкополигональных персонажей, Далила, часть 6

        Моделирование оружия в 3D Studio Max.

        Серия низкополигональных персонажей, Далила, часть 7

        Макет пистолета UV в Unfold 3D Magic и 3D Studio Max.

        Серия низкополигональных персонажей, Далила, часть 8

        Текстура оружия в Bodypaint, Photoshop и 3D Studio Max.

        Серия низкополигональных персонажей, Далила, часть 9

        Текстура лица в Bodypaint, Photoshop и 3D Studio Max.

        Серия низкополигональных персонажей, Далила, часть 10

        Текстура волос в Bodypaint, Photoshop и 3D Studio Max.

        Серия низкополигональных персонажей, Далила, часть 11

        Текстура тела в Bodypaint, Photoshop и 3D Studio Max.

        Ган Эйш

        Замедленная съемка модели треугольника 4300. Видео моделирования только. Воспроизведение с пятнадцатикратной реальной скоростью.

        Интервальная текстура

        Видео одного из способов рисования текстур лица.

        Zbrush 2 и 3D Studio Max Render to Texture

        Короткое видео об использовании инструментов Zbrush 2 в сочетании с функцией рендеринга в текстуру 3D Studio Max.

        Серия низкополигональных персонажей: 1 набор форм

        Массирование основных форм.

        Серия низкополигональных персонажей: 2 Моделирование ног

        Детализация ног.

        Серия низкополигональных персонажей: 3 Моделирование рук

        Детализация рук.

        Серия низкополигональных персонажей: 4 Моделирование руки

        Детализация рук.

        Серия низкополигональных персонажей: 5 Моделирование головы

        Детализация головы.

        Серия низкополигональных персонажей: 6 UV Layout One

        Разметка и упорядочивание UV-карты.

        Серия низкополигональных персонажей: 7 UV Layout Two

        Разметка и упорядочивание UV-карты.

        Серия низкополигональных персонажей: 8 текстурирование одного

        Техники Photoshop и введение в рисование текстур.

        Серия низкополигональных персонажей: 9 текстурирование 2

        Техники Photoshop и введение в рисование текстур.

        Серия низкополигональных персонажей: 10 оснасток

        Использование модификатора Physique на сетке, чтобы привязать ее к Biped.

        3D Studio Max для начинающих

        Краткое руководство по всем основам. Я предполагаю, что вы ничего не знаете, и пройти вас через.

        Прохождение

        Учебный материал на основе статического текста и изображений с картинками и текстом.


        Положи свои деньги куда подальше

        Анализ вашего использования времени. Потенциально оскорбительно для ленивых и апатичных.

        Создание гребенчатой ​​карты

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

        Глаза нового поколения

        Как создать более реалистичные глаза с помощью попиксельных шейдеров и прозрачных оболочек.

        Текстурирование нового поколения

        В этом уроке рассказывается о моем основном принципе создания текстур для активов следующего поколения.

        Программы, плагины и скрипты

        3D, 2D и другие программы, которые я использую, а также плагины и скрипты. Ссылки включены. Должен дать обзор моего рабочего процесса.

        Изображения наконечников

        Страница с различными примерами для студентов и онлайн-форумов.

        Типы DDS

        Объяснение различных настроек плагина Nvidia DDS для Photoshop с примерами изображений. Руководство по сжатию.

        Углубление карты нормалей

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

        Покраска ушей

        Небольшая демонстрация покраски ушей.

        Формальное художественное обучение

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

        Максимальные настройки 3D Studio

        Инструменты, которые я чаще всего использую в 3ds Max. Это PDF-файл, который сопровождает четвертый видеоурок для серии Delilah.

        Настройки Photoshop

        Инструменты, которые я чаще всего использую в Photoshop. Это pdf-файл, который сопровождает первые два видеоурока для серии Delilah.

        Рабочий процесс карты нормалей

        Охватывает все, что вам нужно знать, чтобы начать использовать карты нормалей в 3D Studio Max.

        Настройка слоя

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

        Группы сглаживания

        Как использовать группы сглаживания в 3D Studio Max.

        Карты градиента в Photoshop

        Краткое руководство по использованию корректирующих слоев «Градиентная маска» для раскрашивания изображений.

        Использование масок в Photoshop

        Краткое руководство по использованию масок в фотошопе.

        Аналитическое мышление

        Статья о мыслительном процессе. Я пытаюсь объяснить свое собственное во время практики.

        Текстурирование низкополигональных волос

        Как я рисовал волосы для дополнения Dark Age of Camelot: Catacombs.

        Третьи текстуры

        Использование вашего текстурного пространства для работы с окружающей средой.

        Теория текстурирования: часть 1

        Вступление на текстовой основе.

        Теория текстурирования: Часть 2

        Демонстрация рук.

        Истинный цвет

        Личный совет по использованию оттенков серого и последующему раскрашиванию по сравнению с рисованием один раз в истинном цвете.

        Текстурная грязь

        Запачкайте свои текстуры!

        Истинное разрешение и изменение размера

        Мое мнение о покраске в двойном разрешении, а затем уменьшении.

        Различные грани

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

        Как сделать текстуру щетины

        Быстрая и простая отправная точка для щетины и бритых голов.

        Мобильное дружественное низкополигональное моделирование глаз

        Как я делаю глаза, как модель, так и текстуру.

        Наконечники для деформации конечностей

        Анимация о том, как расположить петли для хорошей деформации.

        Плечи для такелажа

        Пример изображения того, как я выгружаю плечи.

        Учебное пособие по моделированию персонажей

        Полное руководство по созданию полностью смоделированной и текстурированной модели персонажа.

        Учебник для лошадей

        Старое прохождение модели лошади.

        © 2016 Бен Матис

        Как сделать красивый узор

        1. Анализ и построение грубой модели. Это случай процесса PBR, в частности, с использованием 3ds Max для завершения низкополигональной модели, ZBrush для завершения высокополигональной лепки, TopoGun для топологии, Substance Painter и Photoshop для создания текстур и, наконец, использование UE4 для рендеринга. Чтобы убедиться, что мы все еще можем достичь согласованности пропорций модели после разделения рабочей нагрузки, мы сначала построили общую сцену в 3ds Max на основе исходного изображения в качестве эталона для пропорций. Затем, после назначения каждому человеку их соответствующих моделей и реквизита, мы начали производственный процесс.!Грубая модель 2. Изготовление среднеполигональной модели Структура дома: в качестве основы каркаса сцены дом разделен на три части: крыша, стены. , и пол. Анализируя оригинальную картину, стены и пол сделаны из четырехсторонних непрерывных материалов, а стены могут быть превращены в модульные комплекты, которые затем можно повторно использовать в сцене. Часть реквизита: реквизит сцены включает в себя две статуи, ряд книги, стулья и т. д., из которых статуи, стулья, римские колонны и другой реквизит вылеплены в ZBrush, а книги классифицированы на основе сопоставления материалов, и в общей сложности произведено 18 книг для облегчения повторного использования в будущем. Процесс изготовления среднеполигональная модель предназначена для уточнения и добавления дополнительных деталей на основе грубой модели. На препродакшене мы должны проанализировать, какие модели нужно скульптить и топить, а какие модели можно получить из лоу-поли модели, уменьшив линию в мид-поли модели. Предварительный анализ и планирование могут значительно повысить эффективность нашего производства.!Среднеполигональная модель 3. Изготовление высокополигональной моделиПроизводство высокополигональной модели происходит относительно спокойно, каждый выполняет свою работу поэтапно. ступенчатая манера. Грубая модель, сделанная в начале, удобна для настоящего эталонного масштаба, поэтому можно плавно настроить сцену. Скульптура статуй:! Скульптура статуйСкульптура реквизита:! Скульптура коробки! деревянный стул, деревянные зерна на них были вырезаны мной один за другим. Я также скульптил римские колонны, сундуки с сокровищами, лампы и другой реквизит.!Низкополигональная модель 4. Создание низкополигональной модели!Создание низкополигональной модели топологизированная, низкополигональная модель оставшегося реквизита могла быть получена путем сокращения линейки среднеполигональных моделей. Работа над низкополигональной моделью — простая, но кропотливая работа. В процессе топологизации статуй следует отметить несколько моментов: (1) Контроль лица модели; (2) Как разумно разместить проводку и нужно ли топологически проектировать некоторые детали; (3) Будет ли плотность проводки разумно; На этапе низкополигональной топологии не возникает много трудностей. Мы сделали текстуры со стандартом 1м3/512 пикселей и, наконец, разумно спланировали текстуру в соответствии с предустановленной плотностью пикселей. Затем мы выполнили UV-развертку и компоновку. Во время этого процесса у некоторых моделей были проблемы со швами, но мы смогли найти проблему — это было связано с тем, что некоторые области модели не были отключены от группы сглаживания в UV. При размещении UV важно полностью использовать пространство UV, чтобы не тратить ресурсы впустую, и в будущем может потребоваться дальнейшая доработка UV. Далее нужно запечь карту нормалей. Мы сопоставили высокополигональные и низкополигональные модели в 3ds Max, а затем сохранили определенное расстояние между всеми моделями, чтобы избежать наложения при запекании. Если есть проблемы с запеченной картой нормалей, мы используем Photoshop для ее исправления. В процессе запекания мы не столкнулись с серьезными проблемами, поэтому любые необходимые доработки в Photoshop были незначительными. 5. Создание текстур/материалов При создании материалов важно сначала сосредоточиться на общем объеме, прежде чем добавлять более мелкие детали. Под «объемом» мы подразумеваем не только то, что материал должен иметь трехмерный вид в условиях освещения, но и ощущение объема должно быть даже при отсутствии световых эффектов за счет использования цвета и затенения. Добавление темных тонов и текстур еще больше усилит ощущение объема в модели. Наконец, можно применить фильтр повышения резкости, чтобы сделать детали более заметными, в результате чего материал имеет истинное ощущение глубины под световыми эффектами.!Создание текстур и материалов!Создание текстур стула 6. Рендеринг именование моделей, материальных шаров и текстур, что значительно облегчило нам работу, когда мы вошли в движок UE4. После того, как все подготовительные работы были завершены, мы начали расставлять модели, добавлять освещение и спецэффекты и, наконец, настраивать камеру для рендеринга. При этом много времени тратилось на освещение, и было сложно добиться нужного эффекта в сочетании материалов модели и освещения. Наконец, проблема была решена с помощью канала освещения в UE4.!Рендеринг 1!Рендеринг 2. ЗаключениеВышеизложенный выше — наш опыт и руководство по всему производственному процессу. Опыт этих полуторамесячного производства принес нам большую пользу. Мы не только консолидировали производственный процесс, но также изучили много производственного опыта и дополнили предыдущие знания.

Автор записи

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

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