Найти тему
Записки 3D-шника

Что такое UDIM UV-развертка

Развертка 3D модели в обычном понимании вписана в область квадрата 1001, где каждая часть UV имеет свои текстурные координаты относительно осей X и Y. И при переносе развертки в другой квадрат с теми же координатами относительно самого квадрата, например 1002, ничего не изменится. Это касается только «классической» UV.

Больше интересного в Телеграм канале "Записки 3D-шника" https://t.me/notes3drus

-2
-3

Таким образом неважно в каком текстурном квадрате разворачивать модель. Главное, чтобы она была вписана в границы такого квадрата.

При тайловых (бесшовных) текстурах, которые повторяются по вертикали и горизонтали, и не имеют швов на переходах между квадратами, эта необходимость отпадает. Шеллы можно размещать в любом месте, в том числе и на границах разных квадратов UV. Но это только в случае тайловых текстур. Если вы планируете дальнейший Bake текстурных карт, такой способ не подойдет. Шеллы всегда должны быть вписаны в границы квадрата.

-4
-5

При «классическом» пайплайне создания 3D модели и её текстурировании, создается уникальная UV-развертка в текстурных координатах 1001. Далее запекаются технические карты, которые в дальнейшем используются при текстурировании. Это может быть Substance 3D Painter, Mari, Quixel или другой пакет для текстурирования. Далее делается экспорт в текстурный сет для использования в рендере или real-time движке. Например, при использовании PBR шейдера «Metal Roughness» в него будут входить набор текстур: Base Color, Metal, Roughness, Normal и при необходимости Ambient Occlusion.

Работа в геймдеве. Вакансии 🎯

Но в таком подходе существует ограничение на разрешение текстур. Вы не сможете бесконечно увеличивать разрешение, для увеличения плотности пикселей на развертке (Texel Density). Скорее всего вы будете ограничены разрешением 8K (8192x8192px). Такой «потолок» имеет Substance 3D Painter, он просто не умеет работать с разрешением более 8K. В такой ситуации есть выход - использовать UDIM UV-развертку.

Однако, при увеличении разрешения в 2 раза, например с 4K до 8K, количество пикселей на текстуре увеличивается в 4 раза. Что естественно скажется на производительности. Да, если вы делаете проект под рендер и не ограничены во времени, плюс к этому имеете топовое «железо», тогда для вас это не проблема. Но плохая оптимизация, это не тот путь, по которому нужно идти, когда проект коммерческий.

-6

В UDIM-Workflow есть возможность разнести шеллы развертки по разным текстурным квадратам (1001, 1002, 1003 и т.д.), таким образом, вы увеличиваете плотность точек на элементах UV и получаете модель с более высоким разрешением текстур. В таком случае, квадрат, в котором лежат шеллы будет иметь значение, а количество текстур умножается на количество таких квадратов. То есть, если вы развернули меш на 4 квадрата – 1001..1004, то у вас по итогу будет 4 текстурных сета и 16 файлов с текстурами (Base Color, Metal, Roughness, Normal). Этим вы увеличиваете разрешение на модели не за счет увеличения разрешения самих текстур, а за счет их количества. Процесс можно представить более наглядно следующим образом. На примере грузовика выше. Вы разделили его на несколько самостоятельных частей – отдельных мешей (кабина, кузов и рама с колесами).

-7
-8

Развернули и затекстурили отдельно каждую, при этом каждая модель может иметь свои текстурные кооррдинаты. На выходе у вас будет 3 модели с тремя набороми текстур. Но такой вариант не всегда удобен. Поэтому используются UDIM-ы и работают с ними в едином текстурном пространстве.

На сегодня UDIM-ы можно встретить в большей степени в кино или другом CG продукте. Из-за ограниченной производительности «железа» обычных пользователей они редко применяются в современных играх. Однако стоит помнить, что много технологий пришло в gamedev именно из кинопроизводства.

Больше интересного в Телеграм канале "Записки 3D-шника" https://t.me/notes3drus

Пишите своё мнение в комментариях, задавайте вопросы, подписывайтесь на канал и обязательно поддержите лайком. Это важно для развития канала. Спасибо.

RizomUV – лучший пакет для UV-развертки. Обзор функций
Записки 3D-шника23 декабря 2021