Как создавать и анимировать роботов в Maya, ZBrush, Substance Painter и Unreal Engine
CG-дженералист из Бельцы Денис Дарабан создал модели и анимации, и разобрал на примере одного, как удобно и быстро работать с hard surface.
Из гайда вы узнаете, как сделать базовые формы в Maya, лоуполи и хайполи в ZBrush, текстурирование в Substance Painter и рендер в Unreal Engine.
Статья вышла на 80lvl, а мы её перевели.
Референсы
Для создания роботов Денис ориентировался на концепт-арты Эльдара Сафина и дроидов из звёздных воин. Периодически он обращался за советами к 3D художнику Андрею Панченко и концепт-художнику Константину Голубкину.
Начало работы
Первый шаг — блокинг и поиск интересных форм и силуэтов в Maya.
После блокинга основных форм и пропорций проверьте, как модель двигается, и обратите особое внимание на суставы — посмотрите, требует ли геометрия доработки. Используйте для этого инструмент HumanIK.
В некоторых местах добавьте edge loops, чтобы лоуполи и хайполи были похожи по форме, и убедитесь, что N-гоны отсутствуют — ZBrush работает только с квадами. На этом этапе большие и средние формы завершены, осталось добавить детали на меш.
- Сделайте основу будущей лоуполи в Maya и наложите на неё кризы, чтобы при сглаживании получилась хайполи, — но оставьте лоуполи сетку.
- Перенесите модель в ZBrush. Для сохранения кризов используйте плагин GoZ.
Создайте детализированные хайполи, используя Live Boolean. Если вам комфортнее работать в Maya — сделайте меши для boolean в ней. Мы разбираем на примере Zbrush:
- Сначала подключите Dynamic Subdiv. Создайте меши, которые вычтутся или прибавятся к основной модели
- Сделайте хайполи для каждого предмета
- Примените DynaMeshes, и пройдитесь кистью Smooth по краям, чтобы сгладить их и после запекания получить хорошую карту нормалей
Теперь финализируйте лоуполи. Для этого повторите все шаги из хайполи, кроме применения Dynamic Subdivision.
Снова перейдите в Maya, чтобы проверить сетку и убрать ненужные треугольники.
Развёртка
Когда хайполи и лоуполи готовы, время работать с развёрткой.
- Установите сглаживание нормалей на 180 градусов
- Создайте жесткие ребра там, где собираетесь сделать разрез для UV
В процессе учитывайте как лоуполи модель будет шейдить, чтобы при запекании не появились странные градиенты.
Запекание
- Загрузите хайполи и лоуполи в Marmoset — большую часть работы программа сделает за вас
- Подберите настройки и нажмите на "Bake"
Повторите этот метод для создания оружия.
Текстурирование
- Лоуполи меш со всеми запечёнными картами экспортируйте в Substance Painter. Перед текстурированием соберите референсы металла для наглядности
- Создайте материалы самостоятельно или выберете стандартные смарт-материалы в Substance Painter и переработайте их. Можете взять текстуры с сайта Megascans
Рендеринг
Перейдите в Unreal Engine. Сначала отключите текстурные мипмапы и компрессию.
- Используйте 16-битные PNG текстуры, чтобы отобразить больше деталей
- Для текстуры base color используйте 8 бит, так как она находится в цветовом пространстве sRGB — 16 bit не даст правильных цветов
В этом гайде для расчета глобального освещения в реальном времени не использовался RTX или другие системы.
Выставьте настройки:
- Во вкладке Ambient Occlusion включите Intensity и выставьте на 0,5
- Во вкладке Reflection включите Type и выставьте на Screen Space
- Во вкладке Exposure включите Min и Max Brightness и обе выставьте на 1,0
Автор об анимации
Для презентации работы я хотел сделать короткое видео. Я не аниматор и не риггер, поэтому использовал стандартный риг Maya HumanIK. Для создания анимации я перенастроил мокап (motion capture) — мне пришлось существенно изменить его для каждого робота
Такой пайплайн работы позволяет создать сразу хайполи и лоуполи. Это быстрее, чем работа с Subdiv моделями, так как не нужно делать ретопологию.
Материал подготовлен командой XYZ Media.