Хабрахабр

[Из песочницы] Workflow 3D-художника. Как не утонуть в тонне информации. Часть 1

Всем привет, Хабр сообщество! Хочу сегодня рассказать Вам о workflow 3D-художников, как в это вникнуть и остаться со стабильной нервной системой. Статья нацелена на новичков в данной области, опытные акулы могут предаться ностальгии, вспомнить, как все начиналось.
В этой статье я опишу этапы создания моделей окружения. Так же в следующей части мы рассмотрим дополнительные этапы работ для художника по персонажам.

Что-то в его жизни перевернулось, он решил забросить старое доброе рисование и податься в 3D. Расскажу Вам историю абстрактного персонажа Васи. Открывает вакансию джуна, а там: Вася, само собой, пошел смотреть, сколько же за данный труд молодым светилам платят и чего требуется.

  • знание 3ds Max/Maya/Blender (все зависит от желания работодателя);
  • навыки low-poly, high-poly, каких-то страшных Subdiv моделингов;
  • UV mapping;
  • текстурирование PBR;
  • знание Substance Painter;
  • Photoshop;
  • Substance Designer;
  • еще бы желательно уметь в визуализацию V-ray/Corona/Keyshot;
  • умение рисовать от руки;
  • кто-то просит собрать сцену в Marmoset.

И все это не за какие-то там баснословные суммы, а за среднюю зарплату кассира или официанта (автор не утрирует).

Вася закрыл вакансию и каждый вечер плакал от количества страшных слов и вопросов в его голове.

Конец.

Дабы уменьшить количество сломанных судеб, я берусь все разъяснить.

Не нужно понижать стоимость работы коллег по цеху, но также не нужно, сделав одну работу, просить миллионы. И первое, что хотелось бы отметить – никогда не соглашайтесь работать за еду. И только когда он скажет, что все более-менее, тогда и нужно выходить на охоту. Когда чувствуете, что уровень ваших работ достаточен, чтобы получать за это деньги читай: мама говорит, что хорошо, желательно найти опытного человека и спросить, что он думает.

Но пока мы разберёмся с чего начинать.

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

Краткий план статьи:

  1. Концепт
  2. Моделирование
  3. Retopology
  4. UVW Mapping
  5. Текстурирование

Концепт

Первое, что должно быть у вас в голове – это концепт. Вы должны точно знать, что хотите получить в конце, считаю, что творческий полет себе может позволить только опытный человек (немного отходить от концепта позволительно).

Тут есть несколько вариантов: вы можете нарисовать концепт самостоятельно, дабы видеть, что в итоге получится, а можете воспользоваться готовым модельным листом, коих в интернете куча (только не забудьте получить разрешение автора, либо делайте для себя, никуда не публикуйте).

Выглядит он почти всегда так: В основном модельный лист – это концепт персонажей (как людей, так и животных), но я встречала даже модельный лист камня (внезапно).

Модельный лист персонажа

Нам нужен тот лист, где фигура находится строго в A или T – pose или же так, как изображено в примере, есть несколько сторон (зад, перед, бок) и каждая из сторон совпадает с другой по линиям как на картинке ниже: Тут нужно быть внимательным, существует их 2 вида: для аниматоров и для 3D-шников.

Его Величество Моделирование

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

Виды моделирования

Существует low-/mid- и high–poly модели. Так как чаще всего в суровом игровом производстве используется полигональное моделирование, будем рассматривать его.

Слева направо: low-poly, mid-poly, high-poly

Теперь, когда мы понимаем, какую нам предстоит модель сделать и с каким полигонажем работать, решаем, к какому типу она относится – hard surface или organic? Разница, думаю, понятна – кол-во полигонов и уровень детализации.

Пример Hard surface:

Пример Organic:

Но, как и в любом правиле, тут тоже есть исключения: в ZBrush можно изучить инструмент ZModeler и делать Subdiv или наоборот делать органические модели без использования скульптинга (последнее мне кажется нецелесообразным). Исходя из этого выбираем подход, потому как для hard surface удобнее использовать Subdivision modeling, а для органики – скульптинг.

Что такое subdivision modeling?

Subdivision modeling являет собой метод представления гладкой поверхности посредством сглаживания более грубой полигональной сетки.

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

Поэтапное сглаживание грубой формы

Что такое скульптинг?

Здесь принцип тот же, только работать нужно в цифровой среде. Все знают, как работает скульптор.

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

Пример:

Создать такую детализацию с помощью Subdiv очень сложно, практически невозможно

Этапы для скульптинга и subdiv отличаются:

Subdiv:

  • построение общей формы для низкополигональной модели;
  • на этапе построения высокополигональной выполнение сглаживания;
  • добавление мелких деталей.

Скульптинг (для ZBrush):

  • блокинг в Dynamesh
  • ретопология (на этом этапе получаем low-poly, сохраняем отдельно)
  • уточнение деталей накручиванием Subdivision уровней (работает так же как Turbosmooth).

Примечание: детали лучше прорабатывать постепенно на каждом уровне.
Софт: 3ds max, Maya, ZBrush, Blender.

Retopology

Самый сложный этап для новичка – это ретопология. Это целая наука, которая имеет свои правила для анимации, кино, игр.

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

Рассмотрим более наглядный пример:

Персонаж, разделенный на субтулы (выделены цветом)

Все, что обозначено одним цветом – один сабтул.

Существует несколько правил, которые следует соблюдать при создании ретопологии:

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

На данный момент существует 2 вида ретопологии: ручная и автоматическая. Довольно удобно сначала сделать автоматическую, а затем исправить ошибки машины, однако профи все ещё предпочитают делать её вручную.

Возможно, стоит удалить те части, которые не видно, к примеру, тело под одеждой. Если модель изначально имела Low-Poly версию, то вся ретопология состоит в том, чтобы найти способ из существующей сетки сделать сетку с еще меньшим кол-вом полигонов.

Данную операцию можно выполнить как в софте, в котором вы моделировали, так и в специализированных программах, таких, как Topogun 2.

UV mapping

UV делают для того, чтобы текстура ложилась правильно, а не вот так:

Вот так выглядит растянутая текстура

«UVW развёртка» или просто «развёртка» – такое название приобрела эта операция путём обычного перевода с английского Unwrap UVW.

Требования к качественной развертке:

  • при создании развертки обязательно нужно создавать швы, по которым она будет раскрываться;
  • швы желательно прятать туда, куда не доберется любопытный игрок;
  • элементы развертки нужно распределять в пределах данной Вам области (шахматный квадрат);
  • пространство квадрата должно быть максимально заполнено (чем больше размер части развёртки, тем более качественной будет текстура);
  • желательно все элементы разложить уникально, но бывают случаи, когда некоторые из них можно наложить друг на друга (обычно называют «оверлап»), если они не видны игроку и не обязательно требуют уникальности, например, ножки стула;
  • оставляйте некоторое пространство между элементами, чтобы избежать «вытекания» на другие части карты.

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

Тот же принцип использует художник, когда на плоском листе бумаги изображает объем, цвет и свет. «Запечь» означает перенести некоторые характеристики материала или сетки модели на изображение карты.

После того, как развертка сделана, мы можем посмотреть на результаты наших трудов:

Слева изображена развертка представленной модели

Зелёные полосы на модели человека – это те самые швы, по которым её разворачивают.

Я всегда использовала возможности 3ds max, вполне хватало. Сейчас каждая уважающая себя программа имеет возможность проделать такую операцию, есть так же специализированные, такие как UVlayout, RizomUV.

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

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

Cage, простыми словами, – это версия низкополигональной модели, подогнанная таким образом, чтобы полностью перекрывать высокополигональную. 2.Создать Cage. При её построении у моделей должны быть одинаковые координаты;

Выглядит это так:

Синяя решетка вокруг модели – cage, то пространство, которое будет захватывать детали из высокополигональной модели

Назначить каждой части модели (в ZBrush — сабтулы) свой материал, чтобы при импорте в Substance Painter они были так же разделены, а не слились воедино. 3.

Переходим к текстурированию.

Текстурирование и запекание текстур

Запечь нужные текстуры Вы можете в той же программе, в которой моделировали, я же использую для этих целей Substance Painter – наглядно, удобно, чего еще нужно.

Запекание происходит автоматически, все, что Вам нужно – импортировать в программу Low-poly модель с разверткой (обязательно!), после выбрать соответствующую опцию, загрузить высокополигональную модель, выбрать разрешение карт, загрузить Cage или же выбрать отступы от модели и нажать кнопку Bike All Texture sets.

PBR texturing

Самая распространенная технология текстурирования в играх PBR — Physically-Based Rendering, позволяет создать фотореалистичные текстуры с помощью набора карт.

Часто используемые карты:

  • Ambient Occlusion – показывает взаимодействие между элементами модели. Эта карта создает мягкое затенение, будто модель освещена без прямого света;
  • Diffuse – определяет цвет и рисунок объекта;
  • Metallic – показывает, насколько материал металлический;
  • Roughness — контролирует четкость отражений света, показывает шероховатость объекта;
  • Normal – отвечает за рельеф модели, каждый цвет показывает разные оси направления.

Вот как это выглядит на самом примитивном примере:

Слева квадрат без карт нормалей, справа карта нормалей присутствует

В Substance Painter очень широкий функционал, который делает текстурирование гораздо легче: можно рисовать сразу по модели, использовать разнообразные альфы, готовые hard surface штампы, процедурные карты, фильтры, маски – в общем, полное раздолье для фантазии.

После Вы получите карты, которые можно экспортировать и отправлять сразу в любой игровой движок, здесь есть много шаблонов: под Unity 4/5, Unreal Engine, Dota 2, V-ray, Corona и тд.

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

Благодарю за прочтение, may the force be with you!

Теги
Показать больше

Похожие статьи

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

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

Кнопка «Наверх»
Закрыть