Различия между пайплайнами в студиях
TRAINEE /JUNIOR
Каждая студия имеет собственный пайплайн создания ассетов. Иногда они похожи, но чаще — различаются в каких-то деталях, если не полностью. Даже внутри одной компании на разных проектах могут использоваться разные подходы или технологии. Это создает различия в правилах наименования, способах упаковки материалов, принципах создания коллизий и так далее.

Об этих маленьких различиях и поговорим.
Little differences from Pulp Fiction
Custom normal
В студиях типа Remedy или Cloud Imperium, активно используется технология Custom normal при создании пропсов, окружения и техники. Суть её заключается в создании «мягких» углов за счет обычной фаски в две грани и специального скрипта. Скрипт уравнивает ориентацию нормалей, избегая компенсации на плоскостях, и создает красивые, сглаженные углы. Иногда это удобнее и оптимальнее классических подходов с запеканием нормала или созданием саппорт лупов.
Очень удобный подход, но он может оказаться нерелевантным для других проектов. Например, из-за движка, который не поддерживает Custom normal.
Normal при создание техники
На некоторых проектах технику создают в виде мидполи и запекают дополнительные детали на нормал, а на другом — делают лоуполи и пекут весь шейдинг с деталями в дополнительные карты. На третьем, например в Train Sim World от Dovetail Studio, не запекают ничего, кроме Ambient occlusion. Они пришли к выводу, что печь уникальные карты нормалей будет не оптимально, поэтому отказались от них вовсе. Ведь игрок не сможет заметить острые углы на вагонах.
Decals
Помимо использования Custom normal, Star Citizen какое-то время обсуждали в кругах художников за их пайплайн создания пропсов, окружения и космических кораблей. Они использовали сеты декалей с нормалом для нанесения мелкой детализации. Условно, у них есть библиотеки разных элементов, которые запекли и затекстурили заранее. Они объединяют их в текстурные атласы и потом просто кладут плейны с текстурами и картой прозрачности поверх пропса или любой другой модели. Чем-то похоже на китбаш.

Это допустимо и используется при разработке Star Citizen, что позволяет поддерживать необходимый им уровень детализации, но в другой студии такой подход может считаться максимально неоптимальным. Всё зависит от типа проекта и характера решаемых задач.
Metall/rough — Spec/Gloss и пакование текстур
Есть два PBR алгоритма, которые активно используют игровые студии. Субъективно, со spec/gloss чаще работают именно западные студии.
Но на этом различия не заканчиваются. На разных проектах текстуры даже пакуют разными способами.

Иногда spec, gloss и АО пакуются в одну текстуру, если есть такая возможность и спекуляр не является RGB картой. Это используется при создании «цветных» металлов — меди, золота и тд. Иногда карта прозрачности может паковаться в альфа канал карты нормалей, но чаще всего прозрачность уходит в альфу карты альбедо. Всё зависит от характера и количества информации, которые необходимо зашить в одну текстуру.
Vertex information
На некоторых проектах используют vertex color для подкраски геометрии с тайловыми текстурами. Это довольно старый подход для слабых движков, но иногда можно дорисовывать затенения на стыках объектов с помощью затенения в RGB ближайших вертексов. RGBA vertex channel часто используют для генерации кастомной маски для бленда тайловых материалов или, например, для передачи информации шейдеру с использованием Vertex deformation,,,,.

Когда нужно использовать одинаковые по spec/gloss и нормалу карты, но красить их альбедо в разный цвет, можно использовать vertex color. Для этого нужно создать все текстуры в обычном порядке, но оставить albedo карту белого цвета. Если проект поддерживает такой подход, можно будет перекрасить ассет в любой необходимый цвет, просто изменения в RGB каналы всех его вертексов. Следи внимательно, чтобы на альбедо не было грязи/металла, иначе они тоже перекрасятся и будут выглядеть неестественно.

Все эти инструменты удобны в разных ситуациях, но, в зависимости от проекта, их использование может быть невозможным.
Vertex deformation
Vertex deformation позволяет симулировать движение тканей, листвы, травы и так далее.

Шейдер двигает вертексы по xyz осям с силой в соответствии со значениями RGB канала, где черное — отсутствие перемещения, то есть нулевая сила, а белое — максимальное перемещение, то есть сила равна единице.
Collision/Proxy
Забавное различие, которое иногда может путать новичков, — название коллизий. Коллизия — упрощенная геометрия, которая необходима движку для просчета физики объекта и некоторых других технических характеристик. Интересно то, что одну и ту же вещь в разных студиях называют разными словами. Где-то это коллизии, где-то — прокси, а где-то не парятся и называют просто «геометрия для просчета физики».
Naming convention
Этот пункт отличается от студии к студии. Речь идет о правилах нейминга объектов, слоев, папок внутри сцены и в проводнике. Особое внимание уделяется обычно названию технических элементов: лодам, прокси и всему остальному. Иногда в названии лодов и проксей используются специальные символы типа $, # и так далее. Они необходимы движку для сортировки объектов.

Эти правила зависят от движка и масштаба проекта. Обычно такая информация прописывается в технической документации. Если её там нет — уточниу своего лида/ментора или более опытного коллеги. Ведь с неправильным именем модель может просто не загрузиться в движок.

Будь особо внимателен и сверяй несколько раз свои нейминги с правилами из ТЗ. Ведь больше всего ошибок художники на новом проекте допускают именно здесь.
Итог
Различий на самом деле больше — мы разобрали лишь самые основные. Но уже на этих примерах понятно, почему, игровая студия не может просто взять случайные модельки из интернета и вставить их в свою игру. В лучшем случае ей придется перепаковать текстуры и переименовать слои, имена объектов и технических элементов. А в худшем — ассет нужно будет полностью переделывать, потому что он создан абсолютно неподходящим проекту способом.

Для этого, в том числе, существуют всякого рода Unreal/Unity меркетплейсы. В основном туда попадают только те ассет паки, которые соответствуют правилам нейминга, формата и прочим важным условиям.Такой контент будет легко интегрироваться в проект на базе конкретного движка.
Понравилась статья? Читай больше в нашем блоге:
ArtCraft™ Education.
Registered international trademark. All rights reserved.