Unwrapped uvs что это
Основы маппинга в 3ds Max (UVW Unwrap) и в других 3D редакторах
‘‘), array(«string» => ‘‘), ); if (!isset($_COOKIE[‘rek’])) < print($banners[$GLOBALS["banner_num"]]["string"]); >elseif ($_COOKIE[‘rek’] == «rek1») < print($banners[0]["string"]); >elseif ($_COOKIE[‘rek’] == «rek2») < print($banners[1]["string"]); >?>
Для моделлера очень важно знать маппинг. Без этих познаний он не сможет работать серьезно с текстурами. Не сможет делать модели эргономичными и эффективно полностью использовать ресурсы. Без этих познаний моделлер никогда не сделает хорошо, серьезно оттекстуренную модель, для которой будет очень важным правильная раскладка текстурных координат.
Маппинг представляет собой простой раскрой модели. Все наши модели состоят из сетки полигонов. По сути делая маппинг, мы условно разделяем нашу модель на отдельные части, которые помогут нам максимально точно и без потянутостей «натянуть» текстуру.
Многие работают с модификатором UVW Map. Я же работаю с модификатором UVW Unwrap. Почему? Потому что что это абсолютно такой же модификатор, только при этом с кучей дополнительных возможностей. Настоятельно рекомендую работать именно через Unwrap.
У нас есть простая модель.
При назначении материала текстура может не отображаться. Эта кнопочка все решает))
Результат после нажатия кнопки Show Shaded Material in Viewport:
Мне лично не удобно работать с чекером, если если он отображает 1-2 квадрата на сторону. Поэтому я всегда ставлю больший тайлинг.
Далее приступаем непосредственно к работе с маппингом. Находим модификатор UVW Unwrap. Я его себе вынес вот так, а вообще его можно найти там, куда указывает стрелка:
Со временем ты поймешь, что для определенной структуры модели можно подбирать определенный тип маппинга. Сейчас же на простой форме я показываю пример наиболее простого и распространенного метода.
Выделяем всю модель (в свойствах модификатора снять галочку «Игнорировать заднююю часть») и нажимаем в окне маппинга Флаттен маппинг.
Мы видим, что программа разложила автоматом нашу модель на отдельные логичные (для программы) куски.
В окне маппинга я выбрал один едж:
Часть, которая на модели соприкасается с этим еджем автоматически приклеится к выбранному еджу:
В итоге, посредством этой операции мы получаем вот такой раскрой. Как видим на модели зеленых линий стало значительно меньше)
Если присмотреться к местам стыка, то мы увидим, что зеленые линии исчезли в том месте где мы «стичили», но не исчезли на соседних еджах, которые соприкасались с изначально выбранным ребром.
Такие вещи желательно сразу исправлять. Есть два способа:
Итак, у нас более менее комфортная раскладка модели.
Но. у нас квадрат текстуры, а для квадрата такая раскладка не эффективна (большая часть текстуры в таком случае будет расходоваться вхолостую, кушая столь нужные нам ресурсы системы). Поэтому в угоду компактности мы чуточку раскромсаем модель и переделаем наш маппинг.
Первым делом ты определяешь идентичные части. К примеру, здесь верх и низ модели абсолютно идентичны. Раз так, то нам нет смысла использовать на оба элемента разную текстуру. Значит, мы просто отделим один из повторяющихся элементов и наложим его на своего брата-близнеца.
При этом зачастую требуется функция отзеркаливания и\или поворота детали.
Выделяем верхнюю часть UV:
Отделяем выделенную часть UV:
Отзеркаливаем и поворачиваем отрезанный UV кусок:
Накладываем отрезанный кусочек поверх такого же:
Я выделил в основном вьюпорте полигоны цилиндра и отделил их на маппинге от детали. Мы получили две половинки боковинки цилиндра.
Я выделяю один крайний едж на одной из половинок и мы видим, что на второй подсвечивается синим другой едж. Программа показывает какой едж в какой детали сейчас мы соединим.
Наш маппинг не должен выходить за его границы. При необходимости скейлим (через CTRL) ВЕСЬ(. ) маппинг одновременно. Крайне не желательно скейлить отдельно детали, так как сейчас у нас маппинг всех деталей в едином одинаковом масштабе. Что значит, что по всей нашей модели текстура будет отображаться с одинаковым качеством.
При необходимости вы можете спокойно менять детали местами, крутить их и т.п. для более плотной «упаковки».
Вот что получилось у меня
Последним штрихом будет действие, которое я называю «текспортер» (по мотивам одноименной проги))) Это действие необходимо для снятия карты маппинга, для дальнейшей работы с ней в Photoshop (Фотошопе ФШ) непосредственно над текстурой.
После нажатия кнопки «Render UV Template» (отрендерить развёртку UV) мы видим карту маппинга, сохраняем её в удобном графическом формате и далее уже открываем её в ФШ со свойством слоя «Screen» (не будет видно, если основной фон фш-файла – белый).
Всё. Успешного маппинга))
Подпишитесь на обновление блога (вот 3 причины для этого).
Похожие статьи:
комментарий 21 к статье “Основы маппинга в 3ds Max (UVW Unwrap) и в других 3D редакторах”
Очень полезно. Спасибо.
Если бы пару лет назад, цены бы не было. Один добрый преподаватель из Польши дал мне основу по Скайпу по Unwrap UVW мэпипингу. Спасибо и ему.
================================================
Немного не в тему если можно.
Но сейчас возникла потребность по текстурированию shader’s в Arnold Mto. Может есть какие ссылки по теме. Спасибо.
вот уж не знаю что здесь такого информативного…
разложить цилиндр и кубик сможет и макака. а как насчет сложной органической модели или разрушенного здания? там уже не кубики. кстати, если затронули тему геймдева, то новичкам было бы некисло рассказать о такой характеристике как TexelPerMeter (оно же — Texel Density — плотность текстуры на квадратный метр). Например, к нам в студию часто приходят Артисты, которые даже об этом не слышали, а ведь это очень важный параметр качества мапинга.
Я занимаюсь тем, что проверяю качество игровых моделей и в нашем чеклисте четко написано: TexelPerMeter должен быть 256. Если от этого правила отходят, модель отправляется обратно на переделку.
А ведь вам никто не запрещает дополнить эту статью информацией в комментариях 😉 Более того, я и другие читатели скажут вам спасибо и пошлют кучу позитивных флюидов! 🙂
Практика показывает, что подавляющее большинство людей, считающих, что знают 3д, оказывается, банально не знают самых простых основ маппинга. Ключевое слово здесь — ОСНОВА. Вот для таких людей и создана данная статья. Продвинутые знания здесь излаживать я не планировал.
По-моему вполне закономерно что человек проводящий анализ 3D-Контента знает больше нюансов чем люди которые собственно создают этот контент 🙂
Ну а так-то — действительно печально *если оно так и есть* что люди приходящие работать в сферу Game-Art-а не знают что такое «Texel-Density»…
Ведь контролировать Texel-Density должен каждый Game Art-ист (по умолчанию). Иначе будет видно что плотность текстур в сцене отличается. А еще сильнее это будет заметно при интерполированном Mip-Mapping-е… А если уж говорить про Light-Mapping то и вовсе плотность текстур влияет на общее качество освещения сцены…
Если кому интересно, можете погуглить на эту тему — Texel / Texel Density / Texture Density / Pixel Density, и тд…
P.S.
В 3Ds Max-е я использую для этого бесплатный скрипт (TexTools) :
http://www.renderhjs.net/textools/ (там почти в самом низу, в правой колонке поясняется как работать с этой самой плотностью).
«..По-моему вполне закономерно что человек проводящий анализ 3D-Контента знает больше нюансов чем люди которые собственно создают этот контент :)…» увы, ошибочный вывод.
Unwrap UVW Modifier Tips & Tricks
Категорически приветствую всех коллег по цеху. Сегодня речь пойдёт (как Вы уже догадались) о всем Нам известном модификаторе, именуемым как «Unwrap UVW». В этом уроке мы не будем досконально рассматривать каждую кнопку (по этому поводу в интернете уже набралось достаточно много информации), а затронем пару полезных функций, и ознакомившись с некоторыми сферами его применения, расширим Наше с Вами представление об этом инструменте.
Итак, приступим помолясь)
Первое и основное достоинство данного инструмента – интегрированность в программу, что позволяет использовать его функционал в тесной связке со множеством возможностей самого 3dsMax. Перечислим некоторые из них:
· Создание развёртки на основе сплайнов «Spline Mapping»;
· Создание до 99 отдельных каналов проецирования на каждом отдельном объекте;
· Анимация текстурных координат по ключевым кадрам;
Пример использования анимации текстурных координат
Применяем к модели модификатор «Unwrap UVW» и после нажатия на кнопку «Quick Planar Map» получаем следующий результат:
Конечно же такая проекция нас не может устраивать, поэтому для создания корректных текстурных координат прибегнем к помощи кнопки « Unfold Strip from Loop », для этого:
1. Стандартными средствами создаём швы в местах сопряжений двух поверхностей;
2. Создаём выделение из центральных граней (цикл);
Если внимательно посмотреть на модель с назначенным материалом, то можно заметить, что текстурные координаты имеют характерные искажения, вызванные хаотичным распределением их горизонтальных граней. Это легко исправляется:
4. Используя кнопки процедурного выделения ( «Loop UV » и «Ring UV ») на нижней панели инструментов редактора, выделяем все горизонтальные рёбра;
5. Кликнув по кнопке «Align Horizontally in Place » устраняем искажения;
Прежде чем, двигаться дальше, давайте определимся с тем, что мы называем каналами.
Канал, можно представить как некий «контейнер», способный содержать в себе определённую информацию. Задействовав несколько каналов с различными данными (цвет, фактура, блеск, отражения и т.д.), можно создавать довольно сложные текстурные композиции.
Цветные волокна можно представить как отдельные каналы в составном изображении
Как мы ранее уже отметили, основным преимуществом модификатора Unwrap UVW, является его глубокая интегрированность в программу 3dsMax и случай с каналами является ярким тому примером. С их помощью пользователь может задавать дополнительную детализацию, без необходимости применения полигонального моделирования, а это напрямую влияет на вес модели. Причём, детализация создаваемая таким способом, может быть сколь угодно «объёмной», поскольку лимит на количество различных каналов в одном объекте исчисляется значением = 99. Наверное, в сфере дизайна трудно найти объект, содержащий такое количество каналов)).
На этот раз воспользуемся моделью шезлонга «Recliner LC4» и на примере одного элемента кожаного крепления, рассмотрим принцип создания «швейной строчки».
Но сначала стоит отметить ряд важных предварительных моментов:
1. Модель должна иметь на главном канале (по умолчанию «Map Channel — 1») корректные текстурные координаты;
Несколько слов об упаковке будет сказано в конце урока.
Итак, исходим из того, что оба пункта для нашей модели уже выполнены и развёртка для всех кожаных креплений на главном канале выглядит следующим образом:
1. В свитке «Channel» меняем первый канал на второй. При этом, программа выдаст сообщение, в котором её будет интересовать в каком из двух режимов ей следует переходить в указанный канал:
В нашем случае наиболее предпочтительна кнопка «Move », т.к. нам необходимо забрать во второй канал полигоны, предназначенные для будущей «швейной строчки»;
Теперь, когда мы по сути скопировали существующий меппинг во второй канал можно приступать к «расчистке местности» для дополнительной детализации.
2. Создаём полигональное выделение той части текстуры, где будет проходить наша «швейная сточка»;
3. Отделяем созданное выделение от остальной части кластера (Команда «Break»);
4. Сворачиваем стек модификаторов (Команда «Collapse To»);
Тут требуются некоторые пояснения.
Пункт № 4 необходим, т.к. согласно «руководства пользователя», один, отдельно взятый модификатор может редактировать ТОЛЬКО ОДИН, установленный в нём канал. Поэтому, чтобы мы в дальнейшем имели возможность редактировать каждый канал в отдельности, к нему необходимо обеспечить доступ, посредством повторного назначения модификатора.
На этом этапе давайте на секунду остановимся и проанализируем то, что мы имеем. А имеем мы следующее:
1. На уровне подобъектов «Polygon», инвертируем выделение (Ctrl+I), которое наш объект унаследовал от модификатора Unwrap UVW. Тем самым мы выделяем те части текстурных координат, появление которых во 2-м канале для нас крайне нежелательно;
2. Не снимая выделения, в стек модификаторов нашей модели вставляем UVW Map, с режимом проецирования «Face» и каналом проецирования «Channel map = 2».
Режим «Face» выгоден в данном случае тем, что для каждого полигона в сетке, он генерирует полноразмерную прямоугольную карту. Иными словами, режим «Face» «упаковывает» каждый полигон в размер прямоугольной области, о которой мы уже упоминали;
3. Сворачиваем стек модификаторов (Команда «Collapse To»);
4. Снова назначаем модели модификатор Unwrap UVW;
5. Меняем канал на второй: «Map Channel = 2». При этом, на запрос программы в каком из двух режимов ей следует переходить в указанный канал, на этот раз отвечаем нажатием на кнопку «Abandon»; т.е. мы говорим программе, что нам текущие проекционные координаты для выделенных полигонов более не нужны на 2-м канале и их можно отбросить. Напоминаю, на 1-м канале у нас располагаются основные текстурные координаты.
7. Выделяем все вписанные в прямоугольник полигоны;
8. Масштабируем это всё до уровня точки и размещаем в самом неприметном углу «текстурного прямоугольника»;
Тем самым мы избавляемся от влияния той части текстурных координат, которая не должна никаким образом проявлять себя во 2-м канале.
Пример создания в графическом редакторе Photoshop текстуры «швейной сточки»
Важное замечание: Для того, чтобы карта с изображением «швейной сточки» отображалась в окне предварительного просмотра, убедитесь в том, что каналы проецирования для этой карты в модификаторе и в редакторе материалов совпадали.
1. Из выпадающего списка текстур добавляем карту в окно редактора;
2. Масштабируем кластеры до сопоставимого с текстурой размера. Здесь совсем не нужно пытаться удержать кластеры в рамках текстурного прямоугольника;
3. Режем кластеры на отдельные сегменты, и каждый из них устанавливаем в соответствующее ему место:
Совет: Поскольку при размещении сегментов, они зачастую перекрывают друг друга и с каждым новым таким размещением, текстуру в окне редактора становится всё труднее различать. В этом случае для более комфортной работы полезно задействовать кнопку «Display Only Selected Polygons», которая прячет все невыделенные полигоны:
Мы рассмотрели пример с использованием одного дополнительного канала проецирования, но их может быть гораздо больше, всё зависит от требуемой задачи и сложности детализации. Таким образом, при меньшей нагрузке на ресурсы компьютера, материалы объектов могут выглядеть достаточно реалистично и содержать в себе различные физические свойства: помятости, повреждения, сколы и т.д. К тому же, у пользователя появляется возможность дополнительно управлять отражениями, бликами, диффузной составляющей и т.д. Инструментарий программы и в частности модификатора Unwrap UVW предоставляет для этого массу возможностей.
Возможно, рассмотренный в данном уроке принцип, для новичка покажется слишком витиеватым, но на самом деле ничего сложного в нём нет, необходимо лишь понять основную идею, заложенную в описанной методике и несколько раз применить полученные навыки на практике и тогда Вы сможете в полной мере оценить все преимущества использования каналов при текстурировании своих моделей.
______________________________________________________________________________________________
Во-первых, это является критическим условием для художников работающих в игровой индустрии, т.к. «упаковка» в квадрат снижает нагрузку на ресурсы компьютера. К тому же, позволяет использовать текстурное пространство с максимальной пользой. Ну и эстетически, такая развёртка смотрится более эффектно.
Простой пример: имея развёртку упакованную в текстурный квадрат, мы можем при помощи встроенных инструментов, быстро и качественно запекать такие детали как: затенения, патину, карты плотности, глубины и т.д., с последующей доработкой в одном из графических редакторов:
На этом наш урок можно считать завершённым.
Спасибо за внимание и удачных экспериментов!
Технология раскладки Unwrap в 3DMax
diablo_ 392.0 3589.2 4 сентября 2007 в 00:00
В любой отрасли 3Д графики, будь-то игровая индустрия или киномотография, используются принципы раскладки текстурной сетки. Зачем это нужно?
Намного удобней обрабатывать текстуру не по отдельности, для каждой части вашего объекта, сколько как комплексную модель. Если у нас в Редакторе материалов остаётся активной одна ячейка для нашего объекта, а не десяток.
При обработке при помощи Анврапа, текстурная сетка кладётся аккуратно, что обеспечивает отсутствие фактический подтянутостей, как это было бы при использовании текстурирования несколькими материалами. Насколько подсказывает опыт каждому из вас, очень трудно урегулировать правильное положение всех материалов, которые мы наложили на один объект.
Ещё одно преимущество, играющее непосредственную роль – при использовании текстурной сетки расходуется намного меньше ресурсов. Таким образом работа идёт гораздо быстрее. В любой момент работы мы можем подправить текстуру, открыть 2Д редактор и нанести изменения в любое место и текстура всегда будет рядом, так как представляет собой один файл, а не файлы, разбросанные по всей библиотеке. Итак, приступим…
На данном этапе работы мы разложим текстурную сетку пехотинца, который когда-то планировался для РПГ.
Хочу сразу предупредить – как видно из скриншота, пехотинец имеет низкополигональную структуру, поэтому желательно, чтобы ваша модель перед началом раскладки имела как можно меньше полигонов. Это грозит тем, что намного легче раскладывать участки тела, если оно не содержит в себе огромное количество частей. А поверх уже – если нужно – делаются дополнительные модификаторы. К таким я чаще всего отношу Turbo smooth, skin и другие.
1. Самое основное:
Как работает Анврап – когда подгружается текстура, текстурная сетка объекта проецируется на эту текстуру и тогда уже полигон наследует тот участок текстуры, на который спроецирована его сетка.
Почему не проще покрасить персонажа вручную, если он является любительской работой? Во первых – очень быстро можно внести изменения в текстуру, во вторых – вся история модификаторов при конвертации затирает бывшие модификации. Так вот при покраске объекта вручную и наложения модификаторов сглаживания, мы переходим к более сложной структуре, затем конвертим и получаем, что к прошлой низкополигоналке нам не вернуться, а значит придётся перетекстуривать на высокополигональном объекте, а это МРАК. Однако текстурная сетка сохраняется в любом случае, даже если мы затёрли всю историю. Почему она сохраняется? Потому что каждый полигон имеет свою сетку и в любом случае сетка после изменения просто напросто переписывается.
2. Модификатор.
Вот мы и пришли к практической части.
Для того, чтобы перейти в режим редактирования сетки, нам понадобиться модификатор Unwrap UVW. Есть также ещё один модификатор UVW Map, но не путайте его с необходимым нам. Второй занимается условной проекцией анврапа и не даёт практической возможности настроить его полноценно.
Клавиша Edit открывает окно редактирования сетки, и тогда мы видим следующую картину – небольшое поле с разбросанными на ней фрагментами сетки.
Reset UVW’s – сбрасывает применённые нами изменения в исходное положение.
Save/Load – даёт возможность сохранить и загрузить настройки анврапа. Это нужно прежде всего для резервных копий.
Map Channel – подразумевает собой условный канал карты, т.е. его порядковый номер.
Параметры Selection – как и стандартные параметры выделения. На них останавливаться не будем.
Для работы нужно выбрать один из вариантов подобъекта. Толи это будут точки, толи грани, толи полигоны.
На этом этапе открываются дополнительные инструменты:
Взглянем на закладку Map Parameters:
Этак закладка помогает нам спроецировать выделенный участок на поле раскладки несколькими способами:
Planar и Pelt схожи между собой и проецируют выделенный участок на плоскость.
Cylindrical – раскладывает участок как цилиндр и разворачивает на плоскость. К примеру если мы возьмём голову и разложим её цилиндрически, то она на поле текстур будет принимать вид прямоугольника, т.е. по сути голову обволакивает цилиндр и разворачивает её на прямоугольную плоскость.
Spherical и Box – работают весьма сомнительно, не всегда удобны. Раскладывают объект как сферу или квадрат.
Quick Planar Mapping – быстрая, автоматическая раскладка.
Настройки чуть выше рассмотренных являются лишь вспомогательными и определяют плоскость проецирования.
Очень важно: для раскладки анврапа художники используют следующие приёмы: накладывают на объект карту Checker и повышают его tiling. Для чего это нужно? Чтобы ясно проследить, где текстура будет тянуться, а где нет. Для правильной раскладки, художники стараются сделать так, чтобы квадратики чекера на объекте лежали равномерно и были одинаковыми по размеру.
3. Применение.
Сейчас перед собой мы видим уже готовую раскладку персонажа. Выделенный красный участок пустует. Почему? Потому что там разложен шлем и он не показывается, так как составляет отдельный меш с телом.
Как вы видите, самый верхний левый угол – это туловище, разложен был цилиндром, шов находиться на спине.
Что такое шов? Шов – это место разрыва сетки. Самое пакостное место. Это такое ребро, где очень трудно сгладить разрыв. На анврапе обозначены зелёными линиями.
По правилам текстурирования швы допустимы только в некоторых местах, не сильно заметных для взлгляда:
— внутренние поверхности рук и ног;
— боковые части туловища;
— места текстурного разрыва деталей: к примеру места спайки металла;
— места головы, скрытые волосами;
Для того, чтобы начать текстурировать объект – его нужно условно разбить на части.
Я выделил следующие элементы:
— Корпус;
— Руки;
— Ноги;
— Сапоги, так как представляют собой составной объект;
— Шлем, голова;
— дополнительные части – это набивки, наплечники, щитки;
Как только мы отделили части, то нужно будет сделать следующую вещь… Если объект не сложный, к примеру корпус, его можно разложить цилиндрически, и откинуть куда-нибудь в сторону. Затем приступать в другим объектам.
Как раскладываются более сложные объекты – к примеру сапог.
Мы выделяем сапог полностью, без лишних частей, затем делаем то, что показано на рисунке.
Flatten Mapping – это автоматическая раскладка выбранного участка по 6-ти плоскостям. Чаще всего разбивает объект на некоторые чести. Два остальных пункта делают то же самое, только не по плоскостям.
Как только мы разложили автоматически сапог, мы должны убрать его куда-нибудь в сторону, чтобы он не смешивался с остальной сеткой.
Далее, нужно собрать всё в кучу. Верно?
Приступим…
Допустим мы хотим присоединить один фрагмент сетки к другому. На картинке мы видим две части носка – левую и правую. И что мы хотим сделать? Мы хотим, чтобы между ними не было шва – т.е. грубо говоря склеить их.
Для этого мы должны выбрать edge, куда хотим приклеить недостающую часть(выделен красным, синим выделен edge, который будет привязываться, по сути место разрыва) и сделать следующее: вывести контекстное меню и выбрать Stich selected. Что сделает эта команда? Она приклеит к выделенному edge недостающий кусок, а именно тот edge который выделился синим, присоединится к красному. Поулчиться полноценный носок сапога. Однако некоторые Ершины останутся не склеенными. Для этого мы выделяем свободную вершину, она выделяется красным, а смежная с ней синим. Выделяем также смежную вершину, контекстное меню и вариант Weld selected. Вершины склеиваются. В итоге должно выйти следующее:
Если же по какой-то причине нам нужно оторвать участок – выделяем его и из контекстного меню и выбираем Detach edge Verts.
Когда же мы разделили всё на разные части, очень важно поправить подтянутостей. Для этого используются руки и также команда tools->relax. Что делает эта команда? Она выравнивает пропорции участка сетки относительно размеров полигонов объекта.
После применения команды Relax, можно применять неоднократно, вы увидите, как чекер располагается более удачно на модели. Но всё равно, после применения этой команды, некоторые моменты приходиться дорабатывать вручную.
Relax имеет три варианта релаксации, используйте наиболее подходящий. Они отличаются лишь тем, ориентируясь на что происходит релаксация.
Далее идут пункты – количество операций(iterations), сила и стяжка.
После того, как все участки подведены к нужному эффекту, их нужно расположить в квадрат анврапа – это квадрат, ограниченный жирной синей линией. В него и следует располагать все детали. И очень важно, чтобы оставалось как можно меньше свободного места. Это фигурирует тем, что нам необходимо, чтобы вся текстура, что занесена в память, использовалась. Иначе просто зря пропадает память.
Окончательный этап расположения: сначала помещаем наиболее крупные и детализированные участки. А следом всё меньше и меньше.
В итоге полученный эффект должен выглядеть приблизительно так.
Далее мы выделяем модель и применяем следующую команду:
Tools->Render UVW template. Сохраняем рендер сетки, загоняем её в photoshop и спокойно рисуем текстуру по сетке. Я думаю этот урок окажется полезен всем, кто по каким-либо причинам боялся анврапа и просто хочет научиться низкополигональному текстурированию.
По каким-либо вопросам можете обращатьсяю Скачать сцену