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). Теперь можно разнести выбранные грани в стороны без растяжения прилегающих граней.

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


В этом доме мне сейчас осталось наложить текстуру на крышу. Крыша составлена из двух форм: основной – в форме пирамиды и дополнительных надстроек с окнами мансарды. Попробуем сначала на пирамиде, она более простая. Посмотрим на саму текстуру материала (в слоте видно) и назначим материал сразу на основную крышу, видим, что сразу так текстура не ложится должным образом:

Давайте попробуем просто применить целиком к форме модификатор UVW Map : Для этого зайдем в главное меню Modifiers ? UV Coordinates ? UVW Map :



Получилось только на одном полигоне, на остальные текстура не легла так, как нам нужно. Теперь попробуем перебрать различные виды наложений в модификаторе: из Planar (плоскостное наложение) поставим в Box (наложение по прямоугольному контейнеру):

Затем попробуем другие наложения. Так же еще попереставляем в Alignment оси. Видим, что как ни подбирай, а желаемого результата таким образом мы не получили. Есть ли тут выход? В таких случаях как этот - есть. Для этого необходимо применять модификатор UVW Map не к целому объекту, а к каждому полигону (или группе полигонов) по отдельности. Удалим пока модификатор UVW Map с объекта. Встанем на уровень полигонов и выделим передний полигон.
T еперь к выделенному полигону применим модификатор UVW Map : Modifiers ? UV Coordinates ? UVW Map :



Теперь нужно нечто подобное проделать с остальными полигонами, вид которых нас интересует. Для того чтобы выделить следующий полигон или группу полигонов не отменяя предыдущего шага в стеке модификаторов, необходимо зайти в главное меню: Modifiers ? Selection ? Poly Select : где также надо встать на уровень полигонов. Выделяем нужный полигон (или группу полигонов):


Назначим к нему (к ним) модификатор UVW Map : заходим так же как и раньше: M odifiers- ? UV Coordinates--- ? UVW Map:

Попробуем настроить с плоскостным наложением (Planar ): Для этого, в первую очередь, нужно определить, по какой оси мы выравниваем: в опции Alignment нам подходит переставить кружок напротив X . Теперь подберем размеры: Length и Width (можно это делать на глаз или опираться на соотношение размеров в полигонах). Здесь также можно подогнать рапорт по U / V / W tile .
Проделаем все то же самое с третьей стороной крыши: Для этого снова выделили нужный полигон (полигоны) через Poly Select .

И так же применяем к нему (к ним) модификатор UVW Map :


И снова подгоняем раппорт:


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



На виде сверху вы легко себя проверите:

Замечу теперь, что не всегда удастся вам подогнать состыковку рисунка в полигонах точно при таком способе наложения текстуры, это, пожалуй, главный минус данного метода. Скажем, здесь у меня нет такой задачи – точно подогнать рисунок по сторонам крыши, швы ведь будут скрыты пластинами.
Теперь постараемся наложить текстуру на надстройку с окнами. В этой части крыши несколько компонентов, поэтому полигоны разделены на три группы ID : на черепицу отведены 1-ые ID :
Подготовим многокомпонентный материал, где для первого компонента можно взять независимую копию материала, который назначали на главную часть крыши. А можно позволить себе пофантазировать с дизайном и взять какую-нибудь еще текстурку. В данном случае логично выложить надстройку гибкой черепицей, поэтому я делаю новый материал с изображением другого покрытия: с рисунком чешуйками.
Назначим подготовленный материал на надстройку (вышли со всех подуровней). Получилось так:

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

Применим к нему модификатор UVW Map :


Теперь нужно правильно настроить параметры: переставим тип наложения в Box :


Уже лучше. Теперь поставим в Alignment кружок на ось X :


Вот теперь осталось подобрать размеры. Честно признаюсь, редко когда высчитываю точные значения, чаще делаю это на глаз:


Вот, получилось наконец. Теперь через Poly Select выделим другой нужный полигон:


Применяем снова UVW Map , на этом полигоне нужно поправить лишь размеры, подгоняю снова на глаз:

Под этим полигоном выделим следующий:


Правим на нем:


По возможности, стараюсь так подогнать размер, чтобы рисунок на смежных полигонах мог совпасть, если его потом совместить по линиям. При этом я пока не смещаю сам раппорт, но для того чтобы окончательно точно совместить рисунок, здесь можно воспользоваться кнопкой Normal Align (выравнивание по нормали), но это сработает лишь в том случае, если направления нормалей мы не меняли, в противном случае эта кнопка развернет направление рисунка. Нажмем ее и теперь если удерживать левую кнопку мыши, можно подвинуть рисунок – совместить его по-точнее:


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


Так же поступаю со всеми остальными полигонами в данной форме. Вот тестовая визуализация крыши:
Примечание: конечно, существуют другие пути наложения текстуры на сложные объекты, например, с помощью модификатора Unwrap UVW . И, возможно, описанный здесь метод показался вам слишком утомительным и неточным. Однако, часто именно им удобней пользоваться, особенно когда текстуру накладываем лишь на видимые для визуализации полигоны, а не на все, то есть когда ракурс вида зафиксирован (часто так приходится поступать в целях экономии времени и сил). Другой плюс: этим способом можно иногда быстро подправить что-то на отдельных участках. К минусам относится то, что нельзя развернуть рисунок на не кратные 90 градусам углы, а так же уже указанную сложность стыковки рисунка в смежных плоскостях. Но возможно, вы все равно еще не раз воспользуйтесь описанным сейчас методом. Авторы: сайт Подготовлено: сайт

Поскольку основы - они и в Африке основы, то принципы работы с 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. Полную версию .

Координаты наложения карт текстур. Модификатор 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: 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. Их использование поможет ускорить ваш рабочий процесс.

Эта статья также доступна на следующих языках: Тайский

  • Next

    Огромное Вам СПАСИБО за очень полезную информацию в статье. Очень понятно все изложено. Чувствуется, что проделана большая работа по анализу работы магазина eBay

    • Спасибо вам и другим постоянным читателям моего блога. Без вас у меня не было бы достаточной мотивации, чтобы посвящать много времени ведению этого сайта. У меня мозги так устроены: люблю копнуть вглубь, систематизировать разрозненные данные, пробовать то, что раньше до меня никто не делал, либо не смотрел под таким углом зрения. Жаль, что только нашим соотечественникам из-за кризиса в России отнюдь не до шоппинга на eBay. Покупают на Алиэкспрессе из Китая, так как там в разы дешевле товары (часто в ущерб качеству). Но онлайн-аукционы eBay, Amazon, ETSY легко дадут китайцам фору по ассортименту брендовых вещей, винтажных вещей, ручной работы и разных этнических товаров.

      • Next

        В ваших статьях ценно именно ваше личное отношение и анализ темы. Вы этот блог не бросайте, я сюда часто заглядываю. Нас таких много должно быть. Мне на эл. почту пришло недавно предложение о том, что научат торговать на Амазоне и eBay. И я вспомнила про ваши подробные статьи об этих торг. площ. Перечитала все заново и сделала вывод, что курсы- это лохотрон. Сама на eBay еще ничего не покупала. Я не из России , а из Казахстана (г. Алматы). Но нам тоже лишних трат пока не надо. Желаю вам удачи и берегите себя в азиатских краях.

  • Еще приятно, что попытки eBay по руссификации интерфейса для пользователей из России и стран СНГ, начали приносить плоды. Ведь подавляющая часть граждан стран бывшего СССР не сильна познаниями иностранных языков. Английский язык знают не более 5% населения. Среди молодежи — побольше. Поэтому хотя бы интерфейс на русском языке — это большая помощь для онлайн-шоппинга на этой торговой площадке. Ебей не пошел по пути китайского собрата Алиэкспресс, где совершается машинный (очень корявый и непонятный, местами вызывающий смех) перевод описания товаров. Надеюсь, что на более продвинутом этапе развития искусственного интеллекта станет реальностью качественный машинный перевод с любого языка на любой за считанные доли секунды. Пока имеем вот что (профиль одного из продавцов на ебей с русским интерфейсом, но англоязычным описанием):
    https://uploads.disquscdn.com/images/7a52c9a89108b922159a4fad35de0ab0bee0c8804b9731f56d8a1dc659655d60.png