Моделирование трим-листа
Краткий ликбез
Что такое трим-лист и зачем он нужен?
Трим-листы (полоски), текстуры/материалы (набор текстурных карт) такие же как и все остальное, но вытянутые в одном направлении как правило горизонтальном, на которых умещается все что нужно для декорирования модулей и прочих объектов в сцене:
- узоры, повреждения, какие-либо элементы, характерные для визуального стиля сцены и все это используется множество раз с целью снизить количество отрисовок (draw calls).
И хотя методы разработки постоянно совершенствуются, выпускаются новые пакеты, дающие преимущества, упрощающие какие-либо аспекты создания таких ассетов, тенденция идет к увеличению автоматизма через процедурную генерацию.
Однако самая суть методики в своей сути не изменилась.
В конечном счете, это приводит к пониманию этой сути и самостоятельному выбору подходов и инструментов. Но это уже частности.
Если же вы только приступили к этому вопросу, то советую изучить несколько практик и подходов, а уже после формировать под себя набор приемов и вырабатывать свой почерк.
Давайте рассмотрим некоторые подходы.
Алгоритм довольно прост:
- создаете плоскость (квадрат, это наша низкополигональная версия трим-листа, который дальше пойдет на покраску)
- делаем UV-мапинг
- копируете эту плоскость
- из копии моделируете сложные формы (это наша высокополигональная версия)
- экспортируете исходную плоскость (низкополигональную плоскость)
- экспортируете высокополигональную версию с деталями
- запекаете с высокополигональной модели на низкополигональную плоскость карту нормалей
- запекаете с готовой карты нормалей все остальные карты
- переходите к текстурированию (покраске)
- экспортируете нужные вам карты (текстуры)
- применяете их движок к специально подготовленному материалу
- одну из карт из готового набора применяете в 3d-редакторе в качестве визуального ориентира для UV-мапинга отдельных деталей модулей под этот трим-лист
- выгружаете подготовленный таким образом модуль из 3d-редактора в движок и применяете к нему материал с трим-листом
Вот так вкратце выглядит самый классический подход.
Давайте рассмотрим картинки, немного визуализирующие этот процесс:
собственно самого трима
Это обеспечивается общим дизайном локации и контролируется через артдирекшн
Хотел добавить пару слов по поводу моделирования хай-поли (высокополигональной) версии. Эти принципы в общем-то касаются больше правил запечки нежели как такового построения трим-листа или декального листа, но все же их нужно учитывать.
Обратите внимание на кромки. Они обязательно должны быть, кромки для запечки - это наше все.
Если вы создадите даже очень сложный орнамент или рисунок модели, но при этом оставите ее без сглаженных кромок или сабдива, то ничего (или почти ничего) не спечется.
Об этом можно написать отдельную статью, где подробно рассматривались бы принципы моделирования под запечку, алгоритмы синтеза (запечки) карт нормалей. Но эти вопросы лежат в несколько иной плоскости. Другая тема, иными словами. Поэтому, я кратко затронул этот момент, но теперь двигаемся дальше.
Собственно, экспорт я не думаю, что надо иллюстрировать. Единственное, что стоит отметить, если вы работает в сабстенс пейнтере, то в разных ситуациях нужно задуматься о формате экспорта. Я, как правило, в штатной ситуации использую формат *.obj
Однако зачастую возникает ситуация в *.fbx (например, когда нужно передать информацию о мультикомпонентном материале или вертекс пейнте).
Здесь вы видите исходную плоскость с запеченным набором текстур,
в первую очередь - это карта нормалей
но суть от этого не меняется.
Здесь вы видите две полоски сверху с нужным для моего проекта дизайном. В результате
эти тримы будут выполнять роль карнизов, навесов и прочих подобных областей зданий
следует поработать с его UV-координатами.
Применяем материал с текстурой базового цвета на модуль, включаем UV-редактор, накладываем эту текстуру в качестве шаблона, и начинаем редактировать отдельные части модели в зависимости от того, какой рисунок трим-листа вы хотите положить на эту область
на базе тримовых текстур - в префабе
Все то, что я описал выше можно условно отнести к классическому методу создания трим-листа через моделирование и запечку с последующим текстурированием.
Помимо этого метода есть масса иных техник, например процедурная разработка материала (набора текстур) в сабстенс дизайнере.
Там работает все по принципу создания карты дисплесмента, которая по сути и заменяет процесс моделирования, а затем вы начинаете красить полученный результат подключая цветовые аспекты и прочие оптические свойства.
Но более подробно сейчас я уже не буду рассматривать процедурную генерацию. Это также отдельная статья.
Напоследок хочу добавить, что на моем курсе все эти методы рассматриваются очень подробно и со всех сторон. Статья же - это галопом по Европе.
Описанное выше является частью производственного цикла под названием Environment Art, поэтому если желаете освоить эти методы, а также многое-многое другое, то приходите и будем учиться :)