Этапы моделирования в ААА-играх. Этап 2: моделирование
Итак, второй этап он трудный самый: его можно охарактеризовать как самый технически насыщенный, требовательный к моделлеру в плане владения прикладным инструментом, подразумевающий получение геометрии, которую, в случае возникновения ошибок, уже практически невозможно будет исправить на последующих этапах пайплайна.
Как правило, любой мало-мальски сложный, многокомпонентный 3d-объект создают с соблюдением логических законов дедукции: от общего к частному, от больших форм к меньшим, от крупных объектов к мелким деталям.
Это предопределяет шаги моделирования. Сначала делают блокинг, т.е. посредством простейших форм, примитивов, создают общее представление будущего объекта. Здесь важнейшим параметром является обеспечение верных пропорций и читаемого силуэта.
Следующий шаг -- драфт (draft -- набросок, черновик), важнейшая роль которого заключается в придании художественного образа, отражения важных деталей и расстановка цветовых акцентов.
Что касается дальнейших шагов (создание высоко- и низкополигональных моделей, high-poly и low-poly соответственно), то здесь возможны вариации. Как правило, сначала делают все-таки низкополигональную модель, как основу для игрового ассета. Это выгодно тем, что после ее создания можно сразу приступать к UV-развертке, анимации и импорту в движки для первичной "примерки", тестировании игровых механик. Однако существует и другой путь, при котором сначала делают high-poly, которую путем ретопологии превращают в low-poly. При этом надо понимать, что главная роль высокополигональной модели заключается в запекании карты нормалей в текстурные карты, которые затем будут применены на низкополигональной модели, т.е. по сути всю мелкую детализацию мы превращаем в текстуру. Разумеется, еще high-poly можно использовать для синематиков и красивых рендеров в рекламных материалах, но это другая история.
Сегодня существует еще один путь -- создание так называемых mid-poly (среднеполигональных) моделей. Смысл здесь таков: современные ПК способны обрабатывать достаточно "жирные" в плане геометрии 3d-модели, что позволяет разработчикам не особо экономить на ее детализации при моделировании особенно важных объектов (персонажи, центральное оружие, ключевые объекты архитектуры и т.п.). В результате создается модель с достаточной детализацией, которая позволяет избежать дополнительного моделирования, а особенно мелкие детали добрать на этапе текстурирования.
Не могу не отметить еще один момент, являющийся ныне анахронизмом (благодаря развитию современных движков, позволяющий делать это автоматически). Заключается он в том, что ранее отдельно создавались целые группы моделей, отличающиеся друг от друга степенью детализации, так называемые ЛОДы (LODs, Level of Details -- уровень деталей). Суть ее в том, что при игре важно сделать так, чтобы общая сцена не нагружала видеокарту, ОЗУ и ЦП лишней информацией, к коей относится и 3d-модель в момент ее отрисовки. Для этого до сих пор используют 3-5 степеней упрощения практически каждой модели в игре: самые детализированные видны при максимальном приближении камеры, а по мере отдаления они заменяются всё более упрощенными вариациями.
В качестве послесловия, если хватает времени, можете взглянуть на процесс создания письменного стола, реализованного в полном пайплайне (2 части, можно подписаться на YT-канал, там много еще интересного):
На этом сегодня всё, надеюсь, вам понравилось!
Не забудьте подписаться, чтобы не пропустить следующие статьи, даст Бог!
И отдельное спасибо за участие в виде адекватных комментариев и оценок!
Комментарий недоступен
Комментарий недоступен
Столько тратить на мелкие пропсы... А потом жалуемся на оптимизацию игр.
Комментарий недоступен
Насколько знаю, современные движки сами делают лоды. Правда там скорее всего ручками нужно допиливать
На самом деле зависит от проекта. Где-то баночка с лечебным зельем может быть в "полный рост", а где-то — это пропс на пару секунд издалека в неважной катсцене.
почему каждый нубик, краем уха что-то услышавший по теме, считает своим долгом сразу хуярить туториалы типа ща я вас всех научу? зачем, ради чего?