Текстурный атлас, это одна UV-развертка, на которой развернуты несколько объектов. Простыми словами одна текстура, которая содержит в себе несколько других. Для каждой модели в игровых движках используется набор текстурных карт. Атлас применяется для оптимизации в игровых проектах, за счет уменьшения их количества. В обычной ситуации это будут: Base Color, Metal, Roughness, Normal и возможно AO (Ambient Occlusion) + Height Map. Для обработки текстуры, игровой движок должен к ней обратиться, это обращение называется DrawCall, и чем больше их количество, тем ниже производительность. Тут стоит понимать, что в современных играх, в локациях используется далеко не 10 и не 20 текстур. Счет идет на многие десятки и сотни. И подобные приемы оптимизации, хорошо поднимают производительность. Кроме уменьшения количества самих текстур, в игровом движке будет применяться меньшее количество материалов, что также даст прирост FPS.
Дополнительно можно сократить количество текстур следующим образом. Карты, не использующие цвет, такие как: Metal, Roughness, AO и Height Map или Displacement можно положить в один из каналов RGB + Alpha. Итого, например, у вас на выходе будет три файла с текстурами: Base Color, Normal и один файл, содержащий 4 текстурных карты, но в разных цветовых каналах: R (Red) – AO, G (Green) – Roughness, B (Blue) – Metal и в Alpha канале – Height map.
Однако с увеличением количества объектов, развернутых в одну UV, будет падать значение текселя (Texel Density - количество точек текстуры на одну квадратную единицу площади (см., м., дюйм) модели в реальных размерах) при том же разрешении текстуры. Поэтому, атласы часто применяют для мелких объектов в сцене или игровой локации: коробки, фрукты, посуда и так далее. Такой атлас собрать несложно. Несколько моделей разворачиваются в одну UV и текстурятся все вместе, а при экспорте вы получаете готовый атлас.
Нет комментариев