Этапы моделирования в ААА-играх. Этап 2: моделирование

Добрый день, уважаемые коллеги! Сегодня мы продолжим разбирать полный пайплайн создания 3d-моделей, свойственное игровой индустрии.

Предыдущий этап мы рассмотрели ранее (ссылка ниже) .

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

Этапы моделирования в ААА-играх. Этап 2: моделирование

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

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

Следующий шаг -- драфт (draft -- набросок, черновик), важнейшая роль которого заключается в придании художественного образа, отражения важных деталей и расстановка цветовых акцентов.

Блокинг и драфт на примере 3d-модели письменного стола: сначала главное -- потом второстепенное
Блокинг и драфт на примере 3d-модели письменного стола: сначала главное -- потом второстепенное

Что касается дальнейших шагов (создание высоко- и низкополигональных моделей, high-poly и low-poly соответственно), то здесь возможны вариации. Как правило, сначала делают все-таки низкополигональную модель, как основу для игрового ассета. Это выгодно тем, что после ее создания можно сразу приступать к UV-развертке, анимации и импорту в движки для первичной "примерки", тестировании игровых механик. Однако существует и другой путь, при котором сначала делают high-poly, которую путем ретопологии превращают в low-poly. При этом надо понимать, что главная роль высокополигональной модели заключается в запекании карты нормалей в текстурные карты, которые затем будут применены на низкополигональной модели, т.е. по сути всю мелкую детализацию мы превращаем в текстуру. Разумеется, еще high-poly можно использовать для синематиков и красивых рендеров в рекламных материалах, но это другая история.

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

Сегодня существует еще один путь -- создание так называемых mid-poly (среднеполигональных) моделей. Смысл здесь таков: современные ПК способны обрабатывать достаточно "жирные" в плане геометрии 3d-модели, что позволяет разработчикам не особо экономить на ее детализации при моделировании особенно важных объектов (персонажи, центральное оружие, ключевые объекты архитектуры и т.п.). В результате создается модель с достаточной детализацией, которая позволяет избежать дополнительного моделирования, а особенно мелкие детали добрать на этапе текстурирования.

В какой-то степени наш "Хаммер" можно было бы назвать mid-poly моделью лет 10-15 назад
В какой-то степени наш "Хаммер" можно было бы назвать mid-poly моделью лет 10-15 назад

Не могу не отметить еще один момент, являющийся ныне анахронизмом (благодаря развитию современных движков, позволяющий делать это автоматически). Заключается он в том, что ранее отдельно создавались целые группы моделей, отличающиеся друг от друга степенью детализации, так называемые ЛОДы (LODs, Level of Details -- уровень деталей). Суть ее в том, что при игре важно сделать так, чтобы общая сцена не нагружала видеокарту, ОЗУ и ЦП лишней информацией, к коей относится и 3d-модель в момент ее отрисовки. Для этого до сих пор используют 3-5 степеней упрощения практически каждой модели в игре: самые детализированные видны при максимальном приближении камеры, а по мере отдаления они заменяются всё более упрощенными вариациями.

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

В качестве послесловия, если хватает времени, можете взглянуть на процесс создания письменного стола, реализованного в полном пайплайне (2 части, можно подписаться на YT-канал, там много еще интересного):

На этом сегодня всё, надеюсь, вам понравилось!

Не забудьте подписаться, чтобы не пропустить следующие статьи, даст Бог!
И отдельное спасибо за участие в виде адекватных комментариев и оценок!

6.9K6.9K показов
1.3K1.3K открытий
33 комментария

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

Ответить

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

Ответить

Столько тратить на мелкие пропсы... А потом жалуемся на оптимизацию игр.

Ответить

А сколько нужно тратить на мелкие пропсы? Полигоны не настолько тяжёлые (в сравнении с текстурами и сложными шейдерами) чтобы в наше время сходить с ума и экномить каждый треугольник в угоду снижения визуального качества. Ещё в первом Crysis средний поликаунт сцены находился в районе 1 000 000 треугольников.
На polycount есть тема с примерами поликаунта в разных играх https://polycount.com/discussion/141061/polycounts-in-next-gen-games-thread
Так называемая «оптимизация» слишком комплексная сущность чтобы сводить всё к банальному «слишком много полигонов».

Ответить

Насколько знаю, современные движки сами делают лоды. Правда там скорее всего ручками нужно допиливать

Ответить

На самом деле зависит от проекта. Где-то баночка с лечебным зельем может быть в "полный рост", а где-то — это пропс на пару секунд издалека в неважной катсцене.

Ответить

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

Ответить