Uvw mapping разные текстуры на одной модели. Текстурирование сложной модели с помощью Unwrap UVW. Средства автоматического текстурирования

оздание текстурных координат посредством назначения объекту модификатора UVW Map (UVW-карта) на практике используется очень часто. Оно незаменимо, когда разные подобъекты требуют различных методов проецирования. Данный модификатор выбирается из общего списка модификаторов панели Modify (рис. 14) и может применяться как ко всему объекту целиком, так и к его отдельным подобъектам (например, к разным граням) и позволяет не только использовать для выделенных областей различные предусмотренные типы проецирования, но и вручную настраивать особенности выбранного типа под конкретную модель.

Рис. 14. Добавление модификатора UVW Map к выделенному объекту

Всего предусмотрено семь типов проецирования текстурных карт (рис. 15):

  • Planar (Планарный) - производится по нормали к поверхности и применяется к любым плоскостям и подобным им объектам, часто служит основой для построения более сложного проецирования;
  • Cylindrical (Цилиндрический) - предназначен для объектов, имеющих цилиндрическую форму (вазы, бутылки, ножки стола и пр.), и при включенном флажке Сар (Срез) может дополнительно осуществлять проецирование карты на верхний и нижний торцы поверхности. Данный тип проецирования обеспечивает оборачивание текстуры вокруг цилиндрической поверхности с образованием шва на стыке противоположных сторон текстуры. Разные варианты цилиндрического проецирования (с учетом и без учета торцов цилиндра), а также появление характерного для данного типа проецирования шва отражено на рис. 16, где у левого цилиндра проецирование торцов включено, у правого - выключено, а на среднем продемонстрировано наличие шва;
  • Spherical (Сферический) - применим к объектам, форма которых близка к форме шара, и реализуется путем оборачивания текстуры вокруг сферы с формированием шва от одного полюса к другому и деформацией текстуры у полюсов. Обратите внимание на рис. 17, где обоим шарам присвоен один и тот же материал со сферическим типом проецирования, при этом на левом шаре шва не видно, а на правом, который является полной копией левого, но повернут противоположной стороной, шов хорошо заметен;
  • Shrink -Wrap (Обернутый) - предназначен для объектов, имеющих близкую к сферической форму, и обеспечивает оборачивание текстуры вокруг сферы наподобие косынки, что приводит (в сравнении с типом Spherical ) к меньшей степени деформации текстуры у полюсов, но зато к большей - в районе экватора;
  • Box (Кубический) - используется для объектов, имеющих близкую к параллелепипеду форму, и обеспечивает присвоение текстуры для каждой из шести сторон куба по отдельности;
  • Face (Граневый) - реализуется путем наложения текстуры для каждой грани в отдельности и применяется чаще всего в отношении узорчатых текстур;
  • XYZ to UVW (Координаты объекта в мировые) - предназначен для проецирования бесконечных текстурных карт.

При поиске оптимального типа проецирования для конкретного объекта, как правило, следует отдавать предпочтение тому типу, форма гизмо которого близка к форме объекта, так как это обычно позволяет минимизировать или даже полностью избежать деформации текстуры. Однако далеко не всегда можно с точностью сказать, какой тип проецирования окажется лучше, ведь на практике форма отдельных объектов модели лишь с большой натяжкой может быть приближена к строго геометрической. Поэтому прежде чем принимать решение, стоит поэкспериментировать с разными типами проецирования и оценить, при каком из них степень деформации текстуры наименее заметна. Более того, если в сцене имеется несколько однотипных объектов, то совсем необязательно, что оптимальным для них будет один и тот же тип проецирования - возможны ситуации, когда один объект смотрится лучше, например, при цилиндрическом типе проецирования, а другой - при планарном. Наиболее распространенными являются типы Planar , Cylindrical , Spherical и Box , остальные применяются значительно реже.

Попробуем последовательно установить модификатор UVW Map к каждому из объектов рабочей сцены. Сначала восстановите все исходные параметры наложения текстурной карты в свитке Coordinates . Выделите первый объект сцены и для назначения ему модификатора выберите в списке модификаторов панели Modify строку UVW Map , аналогичную операцию последовательно выполните в отношении двух других объектов. После данных действий внешний вид текстур в объектах изменится (рис. 18), а в стеке у каждого из объектов появятся новые модификаторы. К сожалению, можно констатировать, что если изначально (то есть при параметрическом проецировании) текстура на объекты налагалась корректно, то сейчас до корректности далеко. Дело в том, что по умолчанию при добавлении модификатора UVW Map устанавливается тип проецирования Planar (Планарный), неприемлемый для шара, цилиндра и куба. Чтобы исправить ситуацию, выделите шар и смените для него в разделе Mapping свитка Parameters вариант Planar на Spherical (рис. 19). Точно так же измените тип проецирования у цилиндра на цилиндрический, не забыв включить флажок Сар (Срез) для текстурирования торцов, а у куба - на кубический.

Рис. 18. Результат назначения объектам модификатора UVW Map

После изменения типов проецирования все три объекта будут выглядеть точно так же, как и при параметрическом проецировании, поэтому на первый взгляд кажется, что никаких преимуществ применение UVW-карт не дает. На самом деле это совсем не так. Во-первых, мы имели дело с примитивами, для которых нужные координаты проецирования текстурных карт устанавливаются по умолчанию. Во-вторых, даже в случае примитивов использование UVW-карт открывает больше возможностей для управления наложением текстур. Так, с помощью настройки значений счетчиков Length (Длина), Width (Ширина) и Height (Высота) можно определить размеры налагаемой текстуры, параметры U -V -W Tile (U-V-W Мозаика) позволят задавать число повторений текстуры по каждой из осей, а включение/выключение флажков Flip (Перевернуть) обеспечит зеркальное отображение.

Кроме того, в стеке объектов появляется модификатор UVW Map ping , имеющий гизмо (Gizmo), - рис. 20. Гизмо показывает, как текстура проецируется на объект, и определяет границы, до которых простирается текстурная карта материала, при этом вид гизмо зависит от типа проецирования (рис. 21). Поэтому управлять особенностями проецирования карты можно и через гизмо. Например, перемещая его, можно смещать текстурную карту вдоль осей (рис. 22) примерно с тем же результатом, что обеспечивает коррекция параметров материала U Offset и V Offset в свитке Coordinates . Масштабирование гизмо приводит к увеличению/уменьшению масштаба текстуры (рис. 23), а вращение позволяет изменять тип проекции и выявлять цилиндрические и сферические завихрения.

Рис. 20. Наличие гизмо у модификатора UVW Mapping

Чтобы разобраться с нюансами управления текстурой через гизмо попробуем вначале превратить куб в параллелепипед небольшой толщины (рис. 24), а затем добиться, чтобы используемая при текстурировании фотография размещалась в центре его верхней плоскости для создания иллюзии снимка в рамке. Вначале переключитесь в редактор материалов и в свитке Coordinates отключите повторяемость текстуры, убрав флажки в параметрах Til e (рис. 25). Выделите объект, перейдите на панель Modify и в стеке модификаторов щелкните на плюсе возле названия модификатора UVW Mapping , что приведет к переключению в режим управления гизмо. Активируйте инструмент Select and Non -uniform Scale и вручную измените размеры снимка так, чтобы он занимал бо льшую часть плоскости параллелепипеда. При необходимости скорректируйте положение текстуры в центре плоскости инструментом Select and Move (рис. 26). Чтобы отобразить текстуру по оси U , включите флажок Flip , находящийся справа от поля U Tile , и дополнительно разверните гизмо параллельно оси X , щелкнув на переключателе X . По окончании переместите гизмо вверх по оси X (рис. 27) для того, чтобы снимок отображался лишь на верхней грани параллелепипеда и не был виден на всех остальных. В случае если в ходе масштабирования вам приходилось увеличивать размер гизмо (что автоматически привело к значительным искажениям текстуры), как было и в нашем случае, то по окончании экспериментов лучше заменить в свитке Bitmap Parameters задействованный в качестве текстуры файл на изображение большего размера. Возможный результат представлен на рис. 28.

Управлять ориентацией и точными размерами гизмо можно не только инструментами из панели Mail Toolbar , но и через раздел Alignment (Выравнивание) свитка Parameters (рис. 29). Переключатели X , Y и Z обеспечивают поворот гизмо параллельно указанной оси, команда Fit

Основы 3ds Max: UV Mapping.

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

Пол Хаттон научит, как накладывать текстуру на объекты, используя процесс UV mapping.

После моделирования объекта необходимо вдохнуть в него жизнь путем применения к нему некоторых материалов, но прежде, чем это сделать, нужно пройти процесс, который называется UV mapping. Это то, где мы сопоставляем координаты текстуры на объект. Это крайне важно, даже для самых простых предметов, но действительно необходимо на более сложных объектах, таких, как предметы мебели. Я покажу пару основных способов этого процесса, надеюсь, получится объяснить как можно проще. Ну и последнее, когда думаете о UVW, просто понимайте это, как систему координат XYZ.

Шаг 1: Модификатор UVW Map.

Самый элементарный способ назначить развёртку к текстурам простого объекта — это применить модификатор UVW Map. Вы найдёте его в панели modify в выпадающем списке. Он находится почти в самом низу. Напишите UV, чтобы отыскать его быстрее. Таким образом, вы добавите модификатор UVW Mapping в ваш стек модификаторов. Выберите его в стеке и на панели модификаторов появятся редактируемые параметры.

Я использую этот модификатор для большинства объектов, которые я создаю. Развёртка требуется только для более сложных объектов.

Шаг 2: Виды UVW развёртки

В начале свитка Parameters расположены виды развёртки Mapping. Среди них плоские развёртки Planar, которые могут покрыть только 2d координаты в пространстве U и V, как например коробка, когда координаты развёртки создаются по форме коробки в системе координат UVW. Существует также цилиндрический и сферический вид развёртки. Если у вас есть довольно простой объект, то вы вполне можете выбрать тип Box. Для более сложных объектов необходимо использовать более сложные функции, которые называются unwrapping, но об этом мы поговорим чуть позже.

Выберите тип развёртки, который лучше всего подходит для вашего объекта.

Шаг 3: Реальные размеры UVW развёртки

Мы ещё не касались темы создания текстур, но я дам краткий обзор, чтобы мы могли двигаться дальше. Вы можете задать текстурам реальные размеры. К примеру, у вас есть узор ткани, и вы знаете, что в реальном масштабе он занимает 1 на 2 метра, и вы хотите, чтобы он покрывал объект в виртуальном мире, просто укажите это в параметрах. Мы подробнее остановимся на этой теме, когда перейдём к редактору материалов. Если вы хотите использовать реальные размеры, то отметьте флажок Real-World Map Size в модификаторе UVW Mapping.

На этом примере каждая шашка равна квадрату в 5 см. Включенный параметр UVW Map real world size гарантирует, что они изображены корректно.

Шаг 4: Каналы развёртки UVW.

Прокрутив немного вниз, вы найдёте способ изменить канал развёртки. Чтобы понять, что это, представьте, что вам нужна определённая развёртка для вашей диффузной текстуры, а затем вам понадобилась другая развёртка для карты бампа или дисплейсмента. Это просто осуществить путем настройки ваших текстур на разные каналы развёртки, а затем применения несколько модификаторов UVW Mapping, каждый из которых установлен на разный канал развёртки с различными свойствами.

Каналы развёртки позволяют вам иметь разные развёртки для разных текстур.

Шаг 5: UVW выравнивание.

Осталось рассказать про ещё одну вещь, перед тем как перейти к такому страшному монстру, как развёртка. Модификатор UVW Mapping позволяет вам быстро применить выравнивание для вашей развёртки в определённом направлении, X, Y или Z. Это особенно полезно при использовании типа развёртки Planar и определении особой плоскости.

Этот инструмент быстрого выравнивания позволяет быстро настроить ориентацию вашей развёртки.

Шаг 6: Введение в модификатор Unwrap UVW.

Теперь, когда мы разобрались с некоторыми основными свойствами развёртки, нам следует перейти к следующему шагу. Ранее вы были ограничены несколькими параметрами, которые идеально подходили для простых моделей. Теперь же мы будем использовать процесс под названием «развёртка», который даст гораздо больше контроля, для расположения фейсов на вашей текстуре. Просто перейдите к стеку модификаторов и добавьте модификатор Unwrap UVW.

Более сложные меши требуют развёртки, чтобы текстуры правильно применилась к геометрии.

Шаг 7: Режим редактирования Unwrap UVW

Выбрав этот модификатор, пролистайте вниз к свитку Parameters и нажмите кнопку Edit. Откроется отдельный интерфейс с меню вверху и иконками вверху и внизу. Это выглядит немного пугающе. Слишком вдаваться в детали не входит в рамки данного урока, однако мы рассмотрим некоторые основы. Здесь важно понимать, что текстуры будут располагаться в квадрате, очерченном жирной линией. Это UV пространство от 0 до 1. Мы научимся размещать фейсы наших объектов внутри этого пространства.

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

Шаг 8: Отображение текстур Unwrap UVW.

Заметьте, что по умолчанию отображается шахматный узор. Это может быть полезно, чтобы видеть есть ли растяжения на вашей развертке, но чаще всего вам, скорее всего, захочется увидеть настоящую текстуру, которую вы собираетесь применить к объекту. Сделать это можно, перейдя в выпадающий список сверху и выбрав текстуру Bitmap. Найдите ваше изображение и два раза кликните по нему. В результате ваше изображение откроется в редакторе. Заметьте, если изображение не квадратное, то оно будет сдавлено в данном UV пространстве. Вот почему большинство текстур имеют квадратные пропорции, например 1024x1024 пикселя.

Отображение любой текстуры, которая вам нужна в качестве фона. Это может помочь вам разложить вашу развёртку согласно вашей текстуре.

Шаг 9: Flatten Mapping для Unwrap UVW.

Теперь давайте рассмотрим наиболее востребованное решение для автоматической развёртки объектов. Оно называется Flatten Mapping и его можно найти в меню Mapping, выбрав Flatten Mapping. Прежде чем это сделать, используйте режим выделения полигонов внизу и нажмите комбинацию Ctrl+A, чтобы выделить все полигоны. Затем перейдите в Flatten Mapping. Это часто может быть хорошим первым шагом для аккуратной организации вашей UV в пространстве. Существует несколько основных параметров, о которых мы не будем беспокоиться о сейчас. Обычно параметры по умолчанию работают прекрасно. Выберите OK и вы увидите, как все грани вашего объекта аккуратно распределились в пространстве.

Быстро распределить грани в UV пространстве можно при помощи автоматического инструмента.

Шаг 10: Ручные настройки Unwrap UVW.

После того, как ваши фейсы размещены, скорее всего, вам захочется их переместить, повернуть и масштабировать по-своему. Это легко сделать при помощи значков в верхней панели. Они работают таким же образом, как и при действии с объектами при редактировании их в пространстве модели. Заметьте, что вы также можете воспользоваться другими режимами выделения, такие как вершины или рёбра, чтобы переместить ваши фейсы в нужные положения и придать им правильный размер.

Ручная настройка граней при помощи инструментов перемещения, вращения и масштабирования.

Процесс развёртки - скучная, нудная и сложная задача. Чаще всего это приходится делать вручную, но существуют автоматические инструменты, например Unwrella или XRay Unwrap. Их использование поможет ускорить ваш рабочий процесс.

Координаты наложения карт текстур. Модификатор UVW Map (UVW-проекция текстуры)

Достаточно часто бывает так, что после применения материала при попытке визуализировать объект программа выдает сообщение об ошибке (рис. 7.18).

Рис. 7.18. Окно Missing Map Coordinates (Потеряны проекционные координаты)


Дело в том, что в процессе построения объекта его проекционные координаты могут быть нарушены. В данном окне объясняется, какая ошибка препятствует визуализации, указывается имя объекта, у которого была обнаружена данная ошибка, и номер ошибки.

Координаты наложения текстур (Mapping Coordinates) способствуют правильному наложению текстуры на поверхность объекта. При назначении материала, содержащего текстуры, как объект, так и текстура должны обладать координатами наложения. Только в этом случае обеспечивается правильная визуализация текстуры. При создании стандартных примитивов и составных объектов координаты наложения текстур присваиваются автоматически. Для прочих объектов координаты необходимо назначать.

Существует два способа назначения координат наложения текстур объекту:

Установить в параметрах объекта флажок Generate Mapping Coords. (Генерировать координаты наложения текстуры);

Применить модификатор UVW Map (UVW-проекция текстуры).

Параметр Generate Mapping Coords. (Генерировать координаты наложения текстуры) имеется в свитках настроек примитивов, сплайнов, объектов вращения и выдавливания. Генерирование координат наложения с помощью данного флажка – более простой способ, но применение модификатора UVW Map (UWV-проекция текстуры) предоставляет дополнительные возможности. Во-первых, его использование позволяет создавать координаты наложения текстур для объектов, которые не могут их генерировать, например для редактируемых сеток и полисеток. Во-вторых, дает возможность настраивать координаты наложения, что, в свою очередь, позволяет влиять на расположение текстуры. В-третьих, дает возможность менять каналы наложения текстур и тип координат наложения материала. И наконец, в-четвертых, позволяет выбирать систему проецирования текстуры, используя контейнер (Gizmo) модификатора, который обычно называют контейнером наложения текстуры. Форма контейнера наложения текстуры определяет метод проецирования: в плоских, цилиндрических, сферических, трехмерных, прямоугольных координатах и т. д. (рис. 7.19).


Рис. 7.19. Результат применения различных форм габаритного контейнера модификатора UVW Map (UVW-проекция текстуры)


Кроме того, наложение текстуры определяется размещением, ориентацией и масштабом контейнера. Например, плоский контейнер проецирует текстуру в одном направлении. Если поверхности объекта, к которому применяется карта текстуры, не параллельны плоскости поверхности контейнера, текстура вытягивается в зависимости от своей ориентации. Если вы хотите избежать деформации текстуры, выбирайте контейнер, форма которого близка к форме объекта.

По умолчанию задаются плоские координаты проецирования (Planar).

Настройки модификатора UVW Map (UVW-проекция текстуры) находятся в нескольких областях (рис. 7.20), среди которых следующие:

Рис. 7.20. Параметры модификатора UVW Map (UVW-проекция текстуры)


Mapping (Наложение текстуры) – задает тип и размеры контейнера, устанавливает параметры карты текстуры и ее кратность (количество повторений в материале (Tile)), а также позволяет изменить ориентацию карты (Flip);

Channel (Канал) – позволяет задавать до 99 различных вариантов присвоения координат наложения объекту. Чтобы отобразить тот или иной вариант наложения, канал UVW-координат наложения объекта должен совпадать с каналом UVW-координат текстуры наложения;

Alignment (Выравнивание) – устанавливает согласование расположения, ориентации и масштаба контейнера наложения по отношению к текстурной карте, объекту или глобальной системе координат.

В области Alignment (Выравнивание) доступны следующие команды выравнивания контейнера:

X, Y, Z – положения переключателя, предназначенного для выравнивания контейнера наложения по соответствующим осям глобальной системы координат;

Fit (Подгонка) – изменяет размер контейнера наложения так, чтобы он соответствовал размеру объекта. При этом пропорции текстуры могут искажаться;

Center (Центрировать) – выравнивает контейнер наложения по центру объекта (или по центру выделения в случае нескольких объектов);

Bitmap Fit (Подгонка по изображению) – изменяет размер контейнера наложения в соответствии с размером растрового изображения. При этом исключается искажение пропорций изображений, связанных с используемым материалом;

Normal Align (Выравнивание по нормалям) – позволяет выровнять контейнер наложения по нормалям граней объекта, перетаскивая указатель над поверхностью объекта;

View Align (Выравнивание по окну проекции) – выравнивает контейнер наложения карты по текущему окну проекции;

Region Fit (Выравнивание по области) – позволяет изменять размер контейнера наложения, перетаскивая указатель мыши;

Reset (Сброс) – сбрасывает изменение размеров контейнера и устанавливает размеры по умолчанию;

Acquire (Взять) – подгоняет контейнер наложения к координатам другого объекта.

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

Для практического закрепления теоретического материала выполните упражнения «Упражнение 3. Текстурирование дивана и кресел», «Упражнение 4. Текстурирование телевизора» и «Упражнение 5. Текстурирование плафона» из раздела «Практика» данной главы.


| |

3ds max 5 включает в себя большое количество новых средств для наложения текстуры на объект. В зависимости от сложности проекта и наличия внешних модулей текстурирование объекта сильно упростилось по сравнению с предыдущими версиями программы.
В данном уроке Вы познакомитесь с базовыми средствами модификатора Unwrap UVW, разными методами автоматического текстурирования и некоторыми приемами работы вручную.
Так же я вкратце объясню, как Вы можете использовать программу Deep Paint 3D, от Right Hemisphere, чтобы придать больше гибкости процессу текстурирования.
Надеюсь, что ознакомившись с предложенным материалом, Вы найдете быстрый и эффективный путь для текстурирования Ваших моделей.

Спасибо Phil Bedard и Francis Bernier за модели и текстуры.


Если Вы думаете о трехмерной сетке как о скульптуре, то процесс текстурирования – это раскраска готовой скульптуры. С помощью правильно наложенной текстуры Вы сможете показать игру цвета и фактуру материала, которые практически невозможно передать геометрическими средствами. Проблема, однако, в том, что если на реальной скульптуре Вы просто можете рисовать кистью, то текстура – всего лишь плоское изображение. Продолжая аналогию, Вам надо нарисовать текстуру на бумаге, разрезать ее на маленькие кусочки, а затем наклеить их на скульптуру.
В этом суть текстурирования – нарисовать изображение, разрезать его на части и наложить на сетку, где надо повернув, где надо растянув или сжав полученные куски.


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


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

Во-вторых, необходимо минимизировать растяжения, которые возникают, когда участок текстуры плохо подогнаны к грани. Возвращаясь к аналогии со скульптурой, это случается когда Вам приходится сжимать или растягивать кусочек бумаги, чтобы покрыть им нужное пространство (хотя в данном случае речь следует вести скорее о резине нежели о бумаге).
В-третьих, избегайте перекрытия текстурных координат. Вы не можете одновременно нарисовать две разные вещи на одной и той же части текстуры. Исключение составляет случай, когда две части объекта должны выглядеть совершенно одинаково, что часто бывает верно для симметричных объектов, или если объект содержит много одинаковых частей. Например, космический корабль, изображенный выше, снизу оттекстурен только наполовину, а вторая половина использует те же текстурные координаты.
В-четвертых, желательно, чтобы ваши текстурные координаты использовали имеющееся текстурное пространство наиболее эффективно. Если Вы ограничены, скажем, размером текстуры 256x256 (что часто бывает при разработке компьютерных игр), любые значительные пустоты между участками текстуры приведут к тому, что полезное пространство уменьшится. Это приведет к понижению детализации Вашей текстуры и, соответственно, к ухудшению качества модели.
Наконец с текстурами проще работать, если одинаковые по размерам участки модели соответствуют одинаковым же участкам текстуры. Согласитесь что модель, у которой некоторые участки проработаны качественнее других, выглядит странно. Из этого правила есть, конечно, исключения. Например, при текстурировании персонажа, лицо, как правило, прорабатывается тщательнее других участков тела.
На практике, однако, приходится чаще всего балансировать, пытаясь найти компромисс между всеми вышеописанными правилами. Необходимо помнить, что текстурирование, как и вся другая работа 3D художника, это искусство, не подчиненное строгим правилам. Окончательным критерием является модель наилучшего качества, созданная в наикратчайшие сроки.

Основы

В этом уроке я буду работать с моделью космического корабля, которую я недавно создал. Это довольно сложный для текстурирования объект. Он сдержит множество закругленных поверхностей, которые переходят друг в друга через сглаженные ребра, и требуют разных методов текстурирования. Надеюсь, что модель, которую Вы хотите покрыть текстурой незначительно сложней, чем эта (Не смущайтесь, если модель имеет много групп сглаживания и материалов, это никак не влияет на процесс текстурирования.).



Перед началом текстурирования вспомним назначение наиболее часто используемых клавиш. Их три – F2, F3, и F4. F2 включает и выключает режим Shade Selected Faces (затенения выбранных граней) – когда этот режим включен, выбранные грани затеняются красным цветом. F3 позволяет переключаться между каркасным и затененным режимом отображения объектов, F4 включает одновременное отображение ребер и затенения граней объекта – режим Edged Faces. Все эти клавиши часто используются при моделировании объектов, но особенно – при их текстурировании.
Если объект, который Вы собрались текстурировать, не выделен, выделите его и примените к нему модификатор Unwrap UVW.

Щелкните на значке “+” слева от модификатора Unwrap UVW левой кнопкой мыши, а затем перейдите на появившуюся строку Select Face. Это позволит Вам, щелкнув левой кнопкой мыши на грани объекта в видовом окне, выбрать ее для текстурирования. Надеюсь, Вы знаете, что добавить к уже выделенным новую грань, можно щелкнув на ней с нажатой клавишей Ctrl, а чтобы снять выделение с грани – с клавишей Alt.

Интерфейс модификатора Unwrap UVW

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


Если Вы не сделали этого ранее, прейдите в стек модификаторов и выберите в нем строку Select Face, которая является пунктом модификатора Unwrap UVW. Обведите рамкой выделения весь объект, чтобы выделить все его грани. Теперь нажмите кнопку Planar Map в свитке Unwrap UVW. Теперь координаты текстуры выглядят несколько проще, но отнюдь не идеально.



Теперь, вернувшись в окно редактирования UVW, бросим беглый взгляд на основные возможности его интерфейса. В левом верхнем углу диалога Вы найдете обычные средства редактирования (перемещение, поворот, масштабирование, свободная деформация и зеркальное отражение). Если, используя средства перемещения или масштабирования, Вы нажмете клавишу Shift, это позволит Вам осуществлять преобразование только по одной из осей.


В правом нижнем углу вы найдете все привычные средства прокрутки и масштабирования изображения, а чуть ниже две кнопки – Rotate +90 и Rotate -90. Очень простые и очень полезные.

Слева от них группа Selection Modes. Она содержит существенные улучшения по сравнению с предыдущей версией средств Unwrap UVW. По умолчанию выбран режим вершин, но можно поменять его на режим ребер или граней. В режиме вершин (Vertex) Вы, как и в предыдущих версиях Max, можете корректировать текстурные координаты вершины или группы вершин. В режиме ребер Вы можете делать то же самое с ребрами, а в режиме граней, соответственно с гранями.

Кнопки “+” и “-” позволяют Вам расширять или, наоборот сокращать набор выбранных вершин, ребер или граней. Назначение флажка Select Element рассмотрим позже.



Другой новой возможностью модификатора Unwrap UVW является синхронизация выбора подобъектов в окне редактирования текстурных координат и в видовых окнах, что позволяет облегчить выбор нужного Вам объекта (на рисунке изображена ситуация при включенном режиме Shade Selected Faces – клавиша F2).

Средства автоматического текстурирования

Теперь, когда Вы ознакомились с основными элементами интерфейса модификатора Unwrap UVW приступим непосредственно к текстурированию. Перед тем, как начать, я всегда заготавливаю клетчатую текстуру. При наложении ее на сетку сразу видно, какие участки отекстурены правильно, а где имеются искажения. Откройте редактор материалов, выберите неиспользуемый материал, разверните свиток Maps и нажмите на кнопку справа от надписи Diffuse Color, помеченную None. В появившемся окне дважды щелкните надпись Bitmap, и откройте файл с клетчатой текстурой. Не забудьте нажать кнопку Show Map in Viewport и примените материал к объекту. Ваш объект должен быть похож на то, что нарисовано ниже.




Закройте редактор материалов и вернитесь в окно редактирования текстурных координат (возможно, для этого придется нажать кнопку Edit снова). Теперь материал объекта станет фоновым в этом окне – разве это не удобно? Если Вам это не нравится, Вы всегда можете нажать кнопку Show Map вверху окна редактора. Также обратите внимание на квадрат темно синего цвета. Он означает ограничения Вашей текстурной карты. Если Вы выведите вершину за его пределы, то она получит значения координат, взятые с противоположной стороны – будьте осторожны (однако пока об этом беспокоится не стоит).


Давайте посмотрим на первый метод автоматического текстурирования. Войдите в меню Mapping и выберите там пункт Flatten Mapping. Убедитесь, что все три флажка установлены и нажмите кнопку OK. Вы увидите, как объект разбился на кусочки, подобно игрушке пазл. Если Вы напечатаете полученное изображение, а потом разрежете на кусочки, то получите грубую развертку Вашего объекта – не точную, но довольно близкую.

Здесь самое время остановиться и продемонстрировать Вам возможность флажка Select Element. Установите его, как показано на картинке и щелкните левой кнопкой мыши на любом из кусков развертки, изображенных в окне. Обратите внимание, что выделился весь кусок, а не только одна его грань (или вершина, или ребро). Это очень удобно, если Вам надо установить текстурные координаты сразу для целого куска.


Пока Вы использовали установки Flatten Mapping, принятые по умолчанию, давайте немного поэкспериментируем. Снова войдите в меню Mapping, выберите пункт Flatten Mapping, и немного поиграйте с параметрами, особенно с задатчиком Face Angle Threshold. Как нетрудно заметить, большее значение этого параметра приводит к образованию больших кусков развертки, а малое – к их уменьшению, но к увеличению их количества. Для примера я использовал значения 75 и 25. В зависимости от того, как Вы хотите текстурировать объект, оба варианта имеют свои преимущества. А теперь попробуем другой метод.


Вернитесь в меню Mapping и выберите пункт Normal Mapping. В выпадающем списке вверху выберите Box Mapping. В реальной работе используются все методы, но чаще других – именно этот. Нажмите OK, чтобы посмотреть результат. Объект разбился на шесть частей, по одному на каждую грань параллелепипеда. Это главное преимущество данного метода – шесть плоскостей проекции, по две на каждую ось. Поиграйте с настройкой, попробуйте другие методы (Left/Right Mapping, например) и посмотрите, может быть какой-то из них Вам понравится. Если нет, придется сделать что-нибудь более сложное.



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

Текстурирование вручную

Для начала я повторил операции Flatten Mapping с другими установками (см. картинку). Получилось неплохо, но только для начала.

Одной из первых проблемных областей была кабина – ее кривизна слишком велика для того, чтобы с помощью Flatten Mapping объединить все ее полигоны в одну группу. Поэтому, выделив все грани кабины в видовом окне Perspective, я нажал кнопку Planar Map в свитке модификатора Unwrap UVW.





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


Я применил модификатор Mesh Select, и выбрал грани, для которых собирался использовать цилиндрическую проекцию (Выбор граней в Unwrap UVW, к сожалению невозможен).


Когда выделение было закончено, я добавил модификатор UVW Mapping, изменил метод проекции на Cylindrical и нажал кнопку Fit. Это дало нужный мне результат. Далее я добавил другой модификатор Mesh Select, но не выбрал ни одной грани. MAX сохраняет информацию о выбранных гранях, а нам необходимо иметь возможность работы со всей сеткой а не только с выбранными гранями. После этого я снова добавил модификатор Unwrap UVW.

И снова получившиеся координаты далеки от идеала, их надо отмасштабировать и перенести на другое место, чтобы они не смешивались с другими. Будет также неплохо разбить получившийся кусок на части. Чтобы сделать это, выберите в меню Tools пункт Break (горячая клавиша Ctrl-B). Теперь можно разнести выбранные грани в стороны без растяжения прилегающих граней.

Поскольку основы - они и в Африке основы, то принципы работы с UV-развёрткой, почерпнутые из этой статьи, вы сможете применить работая и в других 3D редакторах. Единственное отличие будет в названии кнопок и инструментов.

Автор этой статьи - уважаемый мной 3D моделер техники в 3ds Max - Александр Барсуков , известный еще под ником DesertBull. Так что публикую я статью как есть.

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

Маппинг представляет собой простой раскрой модели. Все наши модели состоят из сетки полигонов. По сути делая маппинг, мы условно разделяем нашу модель на отдельные части, которые помогут нам максимально точно и без потянутостей "натянуть" текстуру.

Работа с модификатором маппинга очень проста. Если вы ещё не умеете с ним работать, то ставьте это приоритетом номер один в очереди на изучение, иначе вы - не полноценный специалист.

Многие работают с модификатором UVW Map. Я же работаю с модификатором UVW Unwrap. Почему? Потому что что это абсолютно такой же модификатор, только при этом с кучей дополнительных возможностей. Настоятельно рекомендую работать именно через Unwrap.

Что ж приступим.

У нас есть простая модель.

Первым делом что мы делаем - назначаем чекер. Это дефолтная текстура, она по-умолчанию используется для проверки корректности маппинга. Если на модели отображаются не квадратики - значит модель требует корректировки в маппинге.

При назначении материала текстура может не отображаться. Эта кнопочка все решает))

Результат после нажатия кнопки Show Shaded Material in Viewport:

Мне лично не удобно работать с чекером, если если он отображает 1-2 квадрата на сторону. Поэтому я всегда ставлю больший тайлинг.

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

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

Красным обведена зона отображения текстуры. Как правило в 3д принято работать с текстурами с равными сторонами или по правилу: если одна сторона - А и вторая – Б, то размер текстуры может быть А=Б или 2А=Б или 4А=Б и так далее или наоборот. Основные размеры сторон кратны 2-ум: 512,1024, 2048, 4096 и тд. Почему так? На сколько мне известно, по крайней мере в игровой индустрии - это наиболее эффективно и удобоваримые размеры. [если более точно, то размер стороны текстуры должен быть кратным степени двойки (2, 4, 8, 16, 32, 64, 128, 256, 512 и т.д.) - это связано с тем, что игровые движки и алгоритмы сжатия/работы с изображениями работают наиболее эффективно именно с такими размерами. Т.е. тогда используется минимум памяти: дисковой, оперативной и видео. А значит и вычисления, проводимые с такими изображениями будут проводится быстрее. Да, вы можете использовать текстуру размером 513на512, но её размер из-за этого одного пикселя будет в два раза больше, чем у 512на512 - примечание автора блога ]

Никто вас не побьет палкой, если у вас будет текстура 314 на 745, но для меня, как человека варившегося в теме - это будет показателем отсутствия знаний. Случаи с использованием не квадратных текстур не столь часты. Я сейчас рассказываю на примере квадратной текстуры.

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

Выделяем всю модель (в свойствах модификатора снять галочку "Игнорировать заднююю часть") и нажимаем в окне маппинга Флаттен маппинг.

Мы видим, что программа разложила автоматом нашу модель на отдельные логичные (для программы) куски.

Не нужно радоваться и сразу приступать к текстуре - у нас ещё много работы.

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

В окне маппинга я выбрал один едж:

Клацаем на нем правой кнопкой мышки (ПКМ) и выбираем стич (прилепить). [для меня это удобнее делать через горячую клавишу, которую я назначаю самостоятельно на каждую команду, которую использую достаточно часто. - примечание автора блога ]

Часть, которая на модели соприкасается с этим еджем автоматически приклеится к выбранному еджу:

В итоге, посредством этой операции мы получаем вот такой раскрой. Как видим на модели зеленых линий стало значительно меньше)

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

Такие вещи желательно сразу исправлять. Есть два способа:

  1. Пройтись стичем и по ним.
  2. Перейти в режим точек, выбрать необходимые вертексы и завелдить (через меню ПКМ)

Итак, у нас более менее комфортная раскладка модели.

Но... у нас квадрат текстуры, а для квадрата такая раскладка не эффективна (большая часть текстуры в таком случае будет расходоваться вхолостую, кушая столь нужные нам ресурсы системы). Поэтому в угоду компактности мы чуточку раскромсаем модель и переделаем наш маппинг.

Первым делом ты определяешь идентичные части. К примеру, здесь верх и низ модели абсолютно идентичны. Раз так, то нам нет смысла использовать на оба элемента разную текстуру. Значит, мы просто отделим один из повторяющихся элементов и наложим его на своего брата-близнеца.

При этом зачастую требуется функция отзеркаливания и\или поворота детали.

Отзеркаливаем и поворачиваем отрезанный UV кусок:

Наш маппинг все ещё не эффективен. Текстура очень узкая и длинная. Мы конечно можем сделать прямоугольную текстуру, но в нашем случае - это идет вразрез с первоначальной задачей – делать квадратную текстуру.

Я выделил в основном вьюпорте полигоны цилиндра и отделил их на маппинге от детали. Мы получили две половинки боковинки цилиндра.

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

Вот теперь уже кое-что похожее на качественный маппинг. Перетаскиваем наш маппинг с серого фона в квадратик чекера в окошке маппинга. [этот квадратик обозначает границы текстуры. На самом деле текстура есть и за пределами этого квадратика, но она там повторяет текстуру внутри квадрата. Это достаточно интересная фича и о ней я записал отдельный - примечание автора блога]

Наш маппинг не должен выходить за его границы. При необходимости скейлим (через CTRL) ВЕСЬ(!!!) маппинг одновременно. Крайне не желательно скейлить отдельно детали, так как сейчас у нас маппинг всех деталей в едином одинаковом масштабе. Что значит, что по всей нашей модели текстура будет отображаться с одинаковым качеством.

При необходимости вы можете спокойно менять детали местами, крутить их и т.п. для более плотной "упаковки".

Вот что получилось у меня

Последним штрихом будет действие, которое я называю "текспортер" (по мотивам одноименной проги))) Это действие необходимо для снятия карты маппинга, для дальнейшей работы с ней в Photoshop (Фотошопе ФШ) непосредственно над текстурой.

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

После нажатия кнопки "Render UV Template" (отрендерить развёртку UV) мы видим карту маппинга, сохраняем её в удобном графическом формате и далее уже открываем её в ФШ со свойством слоя "Screen" (не будет видно, если основной фон фш-файла – белый).

Всё. Успешного маппинга))

Подпишитесь на обновление блога (вот ).

P.S. Заглавную картинку сделал 3D-художник Giovanni Dossena с помощью MARI, Maya и VRay. Полную версию .