Deus Ex: Сборка окружения на основе библиотеки из "одной" текстуры

Deus Ex: Сборка окружения на основе библиотеки из "одной" текстуры

Сегодня у меня для вас перевод туториальчик для создания окружения на основе библиотеки из одной текстуры . Это учебное пособие от художника по окружению Винсента Джоеля Vincent Joyal, по созданию оптимизированного Sci-Fi 3д окружения минимальными средствами в плане расхода видеопамяти. Часть материала была расшифрована и дополнена мной.

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

Deus Ex: Сборка окружения на основе библиотеки из "одной" текстуры

Скажу спасибо RogerWilco за ссылку на материал.

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

Deus Ex: Сборка окружения на основе библиотеки из "одной" текстуры
Deus Ex: Сборка окружения на основе библиотеки из "одной" текстуры
Deus Ex: Сборка окружения на основе библиотеки из "одной" текстуры
Deus Ex: Сборка окружения на основе библиотеки из "одной" текстуры

Как можете догадаться все скриншоты сделаны из ДеусЭкс:

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

Я также взял на себя смелость создать туториал о пайплайне, который я разработал усовершенствовав давно известные методы. Урок называется «Создание сборочной линии из модульной библиотеки "из одной" текстуры». Надеюсь, вам понравится!

Винсент Джоель

«Создание сборочной линий из модульной библиотеки из "одной" текстуры».

Время раскрыть карты :

Deus Ex: Сборка окружения на основе библиотеки из "одной" текстуры

Эта сцена, что висит в заголовке - была сделана на одном единственном наборе текстур размером в 1024х1024 пикселей.

Заинтересовались? Тогда начнем по порядку:

Шаг1. Для начала нужно выбрать физический размер плиты для текстурного атласа. Это будет определять "предельный размер" для деталей размешенных на них. Выбор во многом может зависеть от требований проекта.

Deus Ex: Сборка окружения на основе библиотеки из "одной" текстуры

Так в качестве стандарта в Deus Ex: Mankind Divided - был выбран 2х метровый шаблон Текселя.

Но вы можете выбрать свой вариант в зависимости от требований проекта.

Далее во втором шаге вам нужно определится с размом текселя (Тексель - это понятие количества пикселей на 1метр) который будет помешен на эту плиту. От этого будет зависеть насколько "качественной" она будет или насколько много весить:

Шаг два. 
Шаг два. 

Теперь когда фундаментальные решения определяюшие артстиль выбраны. Нужно приступать к работе с самой текcтурой.

Шаг 3. Теперь нам нужно подготовить секту текстуры в фотошопе.

Deus Ex: Сборка окружения на основе библиотеки из "одной" текстуры

Шаг 4 - для удобства повторите шаг с созданием сетки еще раз

Deus Ex: Сборка окружения на основе библиотеки из "одной" текстуры

PS: сделать слой с сеткой в фотошопе - проще сделав базовый образец ячейки и продублировать в течение пары минут 256 раз.

Создадим себе файл нужного нам размера 64х64

Deus Ex: Сборка окружения на основе библиотеки из "одной" текстуры

Поставим линейку(Cnrl+R ), вытянем направляюшие:

Deus Ex: Сборка окружения на основе библиотеки из "одной" текстуры

Две минуты игры в тетрис и готово:

Deus Ex: Сборка окружения на основе библиотеки из "одной" текстуры

Но вернемся к статье:

На шаге пятом - Винсент просит вас использовать 6х пиксельные линии.

Deus Ex: Сборка окружения на основе библиотеки из "одной" текстуры

А теперь когда все подготовка готова. Шаг 6! Время приступать к созданию текстуры! Нарисуйте на вашем шаблоне всевозможные комбинации элементов. оставьте линию из одного квадрата наверху и сбоку:

Deus Ex: Сборка окружения на основе библиотеки из "одной" текстуры

Pемака: Не кидайтесь сразу в бой - подумайте над тем дизайном элементов, который вам понадобится на уровне.

Deus Ex: Сборка окружения на основе библиотеки из "одной" текстуры

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

Обратите на выделения цветом на примере выше. Синий, Красный и Зеленый. Это зоны где от вас потребуется большее внимание

Deus Ex: Сборка окружения на основе библиотеки из "одной" текстуры

Синие - Винсент просит вас убедится, что вы перекрываете все ориентации линий и тайлов, которые хотите использовать, когда будете заниматься вращением кусков Плитки / UVS и может возникнуть баг когда нормаль будет работать не корректно. Так как Карту нормалей невозможно вращать без определенных "лайфхаков" в движке. Иначе свет и тень будут работать некорректно.

Поэтому лучше продублировать узор симметрично - Что бы избежать возни с нормалями.

Deus Ex: Сборка окружения на основе библиотеки из "одной" текстуры

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

Deus Ex: Сборка окружения на основе библиотеки из "одной" текстуры

Красный - для создании масок - убедитель что ваши линии ВЕЗДЕ имеют одинаковую толшину по горизонтали и вертикали. Это потребует от вас аккуратности что бы не допускать такого:

Deus Ex: Сборка окружения на основе библиотеки из "одной" текстуры

Если конечно - это не является вашим намеренным решением.

PS: Используйте в ФШ инструмент Карандаш и квадратную кисть.

Карандаш не использует сглаживание и дает пиксель арт. 
Карандаш не использует сглаживание и дает пиксель арт. 

Что же - теперь на 7м шаг вам нужно сделать интересующий вас текстурный сет из созданных масок:

Deus Ex: Сборка окружения на основе библиотеки из "одной" текстуры

Можете воспользоваться любым удобным для вас способов. Это не тебя этого туториала. Для Классического PBR набора вам понадобится карта нормалей, шершавость, AO и диффуз.

PS: для теста способа - можете отключить слой с сеткой и создать в фотошопе нормали.

Создав это - можно приступать к моделированию!

Шаг 8. Добавляем текстуру в ваш любимый 3д редактор.

Deus Ex: Сборка окружения на основе библиотеки из "одной" текстуры

И о настройки сетки тоже не забываем:

Deus Ex: Сборка окружения на основе библиотеки из "одной" текстуры

И начинаем аккуратно распиливать плоскость с текстурой на отдельные запчасти выровненные по сетке!

Deus Ex: Сборка окружения на основе библиотеки из "одной" текстуры

По Итогу у вас на руках должен быть набор запчастей, выстроенный в удобный зоопарк.

Шаг 9! Время создания 3д модели.

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

Шаг A: Создайте контур. Убедитесь что кусочки запачастей из текстур крепятся к сетке. Включите привязку к ней.

Deus Ex: Сборка окружения на основе библиотеки из "одной" текстуры

Убедитесь что синхронизировали размер тайлов с сеткой 3д редктора

Deus Ex: Сборка окружения на основе библиотеки из "одной" текстуры

Так если вы следовали гайду и использовали шаг равный :
1/(32*2) = 0.03125 метра

Таким образом плитки будут идеально стыковаться с сеткой.

Шаг Б: Заполните пустые области полигонами.

Deus Ex: Сборка окружения на основе библиотеки из "одной" текстуры

И сопоставьте их с пустыми зонами на текстуры

Deus Ex: Сборка окружения на основе библиотеки из "одной" текстуры

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

Deus Ex: Сборка окружения на основе библиотеки из "одной" текстуры

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

PS: и/или назначите на них отдельный материал, который в движке будет заменен на материал декалей.

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

... Но можно сделать все еще красивее...

Шаг 10. Создадим для получившегося меша 2й UV канал.

PS: Удивительно как мало 3дшников знают о том что у модели может быть большей 1го канала
PS: Удивительно как мало 3дшников знают о том что у модели может быть большей 1го канала

**Некоторые 3d-движки, уже используют канал 1 или 2 для получения информации о lightmap. Возможно, вам придется поиграться с нумерацией UV каналов...

На UV1 будет Предназначен исключительно для сборочной библиотеки:

Deus Ex: Сборка окружения на основе библиотеки из "одной" текстуры

А на 2м канале будет "классическое" разворачивание которое будет иметь значение для модификации карт нормалей и шершавости и пр.
Которая будет накладываться поверх "сборочной" текстуры.

Deus Ex: Сборка окружения на основе библиотеки из "одной" текстуры

Шаг 11. Создание разнообразных материалов в игровом движке.

Используя созданные текстуры - создайте мастер материалы или их инстансы:

Deus Ex: Сборка окружения на основе библиотеки из "одной" текстуры

Возьмите созданный материал и его текстуры с UV канала 1

Deus Ex: Сборка окружения на основе библиотеки из "одной" текстуры

И совместите его со слоем повторящихся несовершенств "Imperfections" и/или повреждений. Что бы придать материалу "естественность" и реализм.

Deus Ex: Сборка окружения на основе библиотеки из "одной" текстуры

PS: И как многие уже догадались "одна" текстура это обман. Маркетинговая уловка. Вас обманули. Но не сильно. Ведь в основе именно 1 материал конструктор. У нас должен быть даже не даже не один материал - а несколько, что будут смешиваться

Шаг 12. Назначьте в 3д на модели разные ID материалов.

Красная линия - граница между материалами
Красная линия - граница между материалами

Загрузите в движок - загрузите нужные материалы в нужные слоты и наслаждайтесь хорошим модулем для стен.

Deus Ex: Сборка окружения на основе библиотеки из "одной" текстуры

PS: можете улучшить данный способ за счет декалей, вертекс пейтна.

Идея использовать одно текстурное изображение для хранения ВСЕХ ТЕКСТУР в качестве модульного набора отнюдь не нова. Так Сейчас мы воспринимаем мощность GPU как нечто само собой разумеющееся и зачастую не следим за количеством видеопамяти особенно в век нейросетей где разработчики-энтузиасты AI забивают VRAM на своих 5090 до упора созданными дегенерационными текстурами, и потом обвиняют в это игровой движок ю

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

Полигоны не так "дороги" с точки зрения видеокарты как текстуры. Чем меньше текстур - тем лучше. 4х

Рекомендую ознакомится со смежной темой Ultimate Trim - где на одну и ту же модель можно натянуть разные шкурки

93
25
10
42 комментария