The Ultimate Trim : Идеальная техника текстурирования

Конспект выступления Morten Olsen Principal Environment Artist из Insomniac Games на GDC о том как они выбрали способ использования текстур для заполнения мира игры. Это было выступление на GDC 2015: The-Ultimate-Trim-Texturing-Techniques.
Я решил сделать для себя небольшой конспект и заодно поделится с вами. Почему это нам может быть интересно? Тут описаны пара лайфхаков которые удобно использовать что бы упростить себе жизнь при создании огромных миров.

The Ultimate Trim : Идеальная техника текстурирования

Для начала начнем с того что такой участок мира в 1400х2400метров был заполнен всего силами десятком художников по окружению. Заинтересовались? Тогда начнем.

Для этого они придумали технику, которую назвали "ультимативные текстурные Тримы"

Трим текструа (Trim= разрезать)- это такой тип текстуры который в отличие от чистого тайла повторяется только в одном направлении

<b>Ну вы поняли? Ножницы!</b>
Ну вы поняли? Ножницы!

И вся "технология" строится на двух решениях:

-> Стандартизированной развертке

-> 45 градусные скосы нормалей по всем краям развертки

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

The Ultimate Trim : Идеальная техника текстурирования

Для начала для создания ультимативной Трим -текстуры нужно выбрать "формат" развертки - и все повторяющиеся материалы должны быть уложены в нее:

Layout

Так в Sunset Overdrive развертка (Layout) окружения стандартизировано так:

The Ultimate Trim : Идеальная техника текстурирования

И абсолютно все стандартные материалы окружения уложены в рамках этого стандарта

Кипич, металл, дерево, все оформлено в едином стиле! На одних местах. Обратите внимание, что самый нижний слой Ультмативной Трим текстуры в атласе отдан под "уникальные элементы" которые должны позволять вам добавить характерные особенности.

The Ultimate Trim : Идеальная техника текстурирования

Или "не будут" - если материал не позволяет.

The Ultimate Trim : Идеальная техника текстурирования

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

The Ultimate Trim : Идеальная техника текстурирования

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

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

Скосы нормалей

Теперь поговорим про скосы нормалей.

The Ultimate Trim : Идеальная техника текстурирования

Как можем видеть для оформления карты нормалей по краям был использован стандартный 45градусный скос. Который был скопирован из простого шаблона:

The Ultimate Trim : Идеальная техника текстурирования

И на каждый скос был позже был нанесен свой вариант детализации и повреждений - для придания карты нормали более "естественного вида":

The Ultimate Trim : Идеальная техника текстурирования

Но давайте лучше посмотрим как это выглядит на моделях:

Мир Sunset overdrive использует весьма низко полигональные модели, поэтому вот как они выглядят без текстур:

The Ultimate Trim : Идеальная техника текстурирования

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

The Ultimate Trim : Идеальная техника текстурирования

А теперь давайте взглянем зачем нам будут нужны скосы на ультимативной модели! И добавим карту нормалей:

The Ultimate Trim : Идеальная техника текстурирования

Видите!? Теперь наш ассет выглядит как детализированным! А скосы нормалей маскируют лоуполи и 90градусные грани становятся не видны!

The Ultimate Trim : Идеальная техника текстурирования

Учитывая что игра от 3го лица - мало какой игрок замети "обман" в столь динамичной игре!

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

При этом все стандартные края нормалей остаются на своих местах!

Так же стоит отметить что у каждого варианта Трим развертки - есть дополнительная бесшовная тайловая текстура. Она попросту необходима для создания "крупных" ассетов и равномерных стен которые занимают несколько квадратных метров.

И используя версию Трим и Тайловой развертки - можно создать и покрасить любой ассет в игре:

The Ultimate Trim : Идеальная техника текстурирования

Да в Sunset игра строится на 3х текстурах: Нормалки, Диффуза и карты Спекуляра - она же карта Отражения/Зеркальности.
Довольно странно что во многих PBR подходах возможности карты отражения игнорируется и часто у всего материала выставляется стандартный параметр для всей поверхности. Но поговорим о Спекуляре как-нибудь потом - там есть пара своих интересностей.

Итак - вы выбрали формат UV и создали кучу материалов для игры, так что порядку создания ассетов при данном подходе:

Так что стандартные ассеты создаются по двум шагам:

1. Создание Лоуполи.

The Ultimate Trim : Идеальная техника текстурирования

2. Перенос UV модели на Трим разверку:

The Ultimate Trim : Идеальная техника текстурирования

Этот процесс займет у вас минуты! Так как напоминаю что мы все еще имеем дело по сути с лоуполи:

The Ultimate Trim : Идеальная техника текстурирования

Которая волшебным образом преображается если закинуть на нее Нормалку:

The Ultimate Trim : Идеальная техника текстурирования

Самое главное - подгоните - края полигонов так что бы с двух сторон был виден скос карты нормали

The Ultimate Trim : Идеальная техника текстурирования

И ваш ассет ААА+ класса готов. Вы великолепны. Никаких лишних расходов времени, нервов и сил. А техартисты молятся на вас что игра не расходует лишний бюджет на полигоны!

The Ultimate Trim : Идеальная техника текстурирования

Главное не забудьте при развертки захватить созданный скос:

The Ultimate Trim : Идеальная техника текстурирования

При этом что самое интересно - идеальная UV развертка даже не нужна, если вы оставите 1-2 пикселя, лучше НЕДОБРАТЬ чем залезть на соседнюю деталь в ТРИМ текстуре:

<b>Обратите внимание тут переход угла сильно смягчен.</b>
Обратите внимание тут переход угла сильно смягчен.

Или используйте Ровно столько "скоса" нормали - сколько вам реально нужно! Регулирая размер текстуры +-пара пикселей можно придать ассету совершенно разный визуальный скос.

The Ultimate Trim : Идеальная техника текстурирования

Например, если хотите сохранить 90градусный угол:

The Ultimate Trim : Идеальная техника текстурирования

Или придать всем ассетам игры единообразный стилизованный вид:

The Ultimate Trim : Идеальная техника текстурирования

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

The Ultimate Trim : Идеальная техника текстурирования

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

Весьма уродливо?
Весьма уродливо?

Так что весь секрет в том что бы это исправить кроется в правильном масштабе плотности сетки и и разрезании UV - для этого все же придется добавить фаску в нужном месте:

The Ultimate Trim : Идеальная техника текстурирования

Что позволит перенести UV развертку в нужное место для имитации скола:

The Ultimate Trim : Идеальная техника текстурирования

Этот способ Гораздо дешевле по времени и по бюджету на текстуры чем создание уникальной карты нормалей при запекании окружения.

Так что это позволяет создавать "уютное" окружение на лоуполи для игрока.
Просто нормально делайте:

Нормально будет!
Нормально будет!

Не нормально - не делайте! Зачем вам 90 градусные углы которые сразу сбивают все погружение игрока в и заставляют вспомнить его что он играет в видеоигру?

The Ultimate Trim : Идеальная техника текстурирования

Этот подход за счет небольшой игры с картой нормалей - позволит вам дешево создать иллюзию высоко детализированного мира!

The Ultimate Trim : Идеальная техника текстурирования

А ведь у этой лавки - всего пара сотен полигонов!

На этом базовая часть лекции - все.

Но это еще не конец! Поговорим про стиль!

Мир Sunset Overdrive задизайнен как стилизованный мир. Все ассеты окружения выглядт так как будто художник прошелся по ним кисточкой!

The Ultimate Trim : Идеальная техника текстурирования

На английском это называется "Brushstroke", а на русском это будет "следы от мазков".

The Ultimate Trim : Идеальная техника текстурирования

Все крупные ассеты имеют несколько вариаций что уменьшает повторяемость и как итог художественную усталость игрока от повторения вида ассетов:

The Ultimate Trim : Идеальная техника текстурирования

Для придания эффекта художественности в игре используется несколько масочек Шума, в которых эти Мазки и задаются, и кстати вот они:

The Ultimate Trim : Идеальная техника текстурирования

В каждой маске используется 3 канала RGB - где зашифрована свой вариант тайловой маски.

Так как Шейдер движка игры работает с этими масками?

The Ultimate Trim : Идеальная техника текстурирования

Маски влияют только на Диффуз и Спекуляр - Нормаль у модели остается неизменной!

Маска имитирующая работу кисти использует Цвет Вертексных вершин и это дает результат - в виде уникального шума, который можно менять от ассета к ассету!

The Ultimate Trim : Идеальная техника текстурирования

Это небольшая ручная работа - очень сильно сказывается на восприятии игры! Игра уже не выглядит как реюз ассетов(хоть по факту это оно и есть!)

Вертекс Колор - это давно известная технология модификации ассетов прямо на левеле. Что позволяет левел дизайнерам и художникам немного менять правила наложения текстур на ассетах прямо на уровне - придавая им уникальности. Сам процесс покраски довольно быстр.

Но не смотря на всю быстроту... раскрашивать каждый ассет в мире игры все таки несколько долго... так что для работы - используют процедурную маску шума:

The Ultimate Trim : Идеальная техника текстурирования

Она нужна для создания предварительного разнообразия ассетов мира. И позже там где это необходимо - художники руками дорабатывают ассеты в сюжетно важных местах.

Маска шума выглядит так:

The Ultimate Trim : Идеальная техника текстурирования

Это очень интересно, но ничего не понятно - так что давайте взгляним на то как маска будет выглядеть на мире игры - если ее использовать ак текстуру!

The Ultimate Trim : Идеальная техника текстурирования

У каждого ассета - контраст шума может быть выкручен индивидуально через контроль данных в движке игры при создании локации:

(В том же Unreal это можно сделать через Primitive Data - если вы захотите добавить что то похожее себе)

The Ultimate Trim : Идеальная техника текстурирования

Что приводит к следующему итоговому результату - когда эти цвета вершин придают разнообразию игре:

The Ultimate Trim : Идеальная техника текстурирования

Все! Теперь осталось пара финальных слов:

Время на разработку - это самый ценный ресурс для любого разработчика. Будь то маленькая команда или ААА+ студия от Сони. Стандартизация создания ассетов - фантастически ускоряет и удешевляет время создания открытых миров.

Ультимативная Trim Развертка для Текстур - это ОЧЕНЬ простой, дешевый и эффективный способ заставить ваши Low-poly модели выглядеть детализированными! И вам больше не нужно оправдываться стилем "ретро" -и тем что вы делаете закос под 90е.

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

Twitter докладчика: @TeamMortenO
Twitter докладчика: @TeamMortenO

Есть над чем подумать? Создание единого стандарта для Trim развертки в игре, это исследовательская работа на пару недель - что сэкономит вам человекочасы.
И скос Нормали не обязательно должен быть жестким 45градусным, можно сделать можно сделать и более сглаженный переход.

41
5
3
1
11 комментариев