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

Ян Шамарин
Ян Шамарин

Вступление

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Топология

High Poly

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

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

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

Low Poly

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

Основное требование к 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

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

Суть метода.

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

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

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

  • Высокий контроль над формой. Практически никаких проблем с внесением правок. Просто убираете лишнее, подчищаете, перестраиваете топологию.
  • Возможность быстро исправить геометрию. Буквально за минуту можно полностью убирать одну деталь и перестроить другую. Сам метод построения топологии позволяет легко это сделать.
  • 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 моделирование

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

Суть метода.

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

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

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

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

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

Boolean to Dynamesh (ZBrush)

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

Суть метода.

Болванка модели и объекты для булевых операций создаются в 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

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

Суть метода.

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

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

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

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

  • 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. Может быть, замаскировать грани, а остальное еще раз прополишить, чтобы убрать проблемы на шейдинге. Возможно, их даже не будет видно.
Приемы Hard Surface моделирования для Gamedev

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

Заключение

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

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

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

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

109109
24 комментария

CAD моделированиеДостоинство метода.Простота и скорость в создании сложных форм.как раз недавно читал про создание твердотелки в таких пакетах на 80lvl )

7

После работ Alex Senechal заинтересовался CADом, Fusion 360 творит чудеса. Кстати изначально пушки для CP2077 тоже делали в Fusion, но вроде бы отказались как раз из-за сложности перегона в лоуполи.

4

Комментарий недоступен

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

Хорошая статья. Хотелось бы немного дать советов от себя, новичкам будет полезно.
Для тех, кто только собирается изучать, на базовом уровне желательно знать лайв булеан пайплайн и пайплайн через fusion, так как это самые распространённые воркфлоу в геймдеве. В некоторых студиях есть требование использовать определенный пайплайн, а в некоторых на выбор артиста. В последнем случае, на этапе блокаута ты изучаешь рефчики/ форму аттача или пушки и принимаешь для себя решение, где ты сможешь более быстро и точно повторить нужную форму. Как-то так, удачи в изучении ;)
P.S. Не забывайте хорошо полишить фаски в браше, иначе они плохо запекутся на нормалке и модель будет острая.
P.P.S. НИКОГДА не делайте микрофаски во фьюжене, оставьте это зебре ))

3

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