Сайт о телевидении

Сайт о телевидении

» » 3d max создание uv текстур. Подгонка развертки под готовую текстуру

3d max создание uv текстур. Подгонка развертки под готовую текстуру

BLENDER. Делаем UV карты (развертки) для модели March 13th, 2012

Что такое UV карта? Если Вы когда нибудь клеили модели бумажных самолетиков или корабликов – то вы знаете что такое UV карта!

Это контур детали на плоскости, который можно вырезать, согнуть в нужных местах и сложить/склеить из него модель.

UV нужны для того чтобы их можно было раскрасить и склеить не просто модель – а раскрашенную модель.

Загружаю модель в Blender. Выделяю верхнюю часть модели и переходу в режим редактирования (TAB).

Слева открываю окно с UV/Image Editor

Выбираю Image –> New image –> Create

В окне с моделью нажимаю U –> Unwrap All – получаю:

Blender попытался развернуть модель на плоскость… Как будто катком проехал. Не просто сделать из объемной модели плоскую раскладку. Чтобы этого добиться нужно в некоторых местах модель разрезать а потом уже разворачивать

Выделяю вершины по которым хочу наметить первый разрез:

CTRL + E = Mark Seam - помечаем для разреза (делаем шов).

Разрез выделился красным.

Попробуем снова развернуть модель. Выделяем все точки (А) U -> Unwrap

Обратите внимание на маленькую желтую точку в правом нижнем углу UV Image Editor. Это наша отрезанная голова!

Как понять где что находится на UV карте? Достаточно нажать кнопку “Keep UV and edit mode mesh selection in sync”

Теперь, выделив точку на модели, – эта точка подсветится и на UV карте. И наоборот.

Еще одна полезная фича – усреднение размеров частей полученной UV карты (Average Island Scale):

Island (острова) это независимые части UV модели, полученные после разрезания. В результате голова заметно укрупнилась.

Сделаю еще 2 шва на голове:

Снова делаю развертку. Можно вручную изменить масштаб и перенести части UV на развертке как нам удобно. Для этого отключаю “Keep UV and edit mode mesh selection in sync” и использую те же методы работы как и с мешем.

Отрежу руки.

Думаю, понятно почему у меня получились такие спилы вместо ювишек. Исправляю ситуацию.

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

Развертка без примененного модификатора Mirrow. Вижу только половину модели:

Намечаю еще 2 шва:

Применяю модификатор Mirrow.

В результате получаю вот такую развертку

Полезные функции при окончательном формировании развертки:

Ctrl +A = Average Islands Scale (Усреднение размеров островов)

Ctrl + P = Pack Islands (Уместить все острова в пределах развертки)

Еще можно выделить одну точку на острове и нажать L – выделится остров целиком.

В результате я перераспределил острова следующим образом:

Делаем Export UV Layout.

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

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

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

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

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

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

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

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

Текстурирование и другие аспекты работы с CG Вы можете изучить на онлайн курсе по 3D графике "CG generalist" в онлайн школе CGTarian.

В настройках карты Bitmap есть опция UV Offset. Она позволяет использовать не только пространство внутри стандартного UV квадрата под свои текстуры, но также пространство вокруг этого квадрата.

О том, как это сделать смотрите в видео уроке по :

Программу 3ds Max с возможностью создания пользовательских инструментов, для качественного и быстрого создания проекта, а также другие программы включая AutoCAD Map 3D 2018, AutoCAD Civil 3D 2017 можно приобрести на сайте architect-design.ru .


Подробнее о создании работы "Побег" читайте в P.S.

ВАЖНО! Прочитайте этот абзац, если вы тут впервые! Вам попасть на мой блог! И хотя, вы НЕ найдёте здесь ссылки на крякнутый 3dsMax2012 (только на лицензионный, который можно скачать бесплатно), НО зато на моём блоге я выкладываю свои шикарные (так говорят, те кто их видел, а не я) БЕСПЛАТНЫЕ и , а также кучу другой полезной информации, которую вы не найдёте больше нигде в интернете: , и др.

Ссылки для скачивания.

Лицензионный диск 3ds Max (полностью рабочая версия без ограничений на протяжении 30 дней) можно скачать бесплатно :

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

Каждый дизайнер знакомый с пакетом 3ds Max может без труда нанести материалы на простые объемные фигуры (шар, куб, цилиндр и т.д.), а также использовать текстурные карты, чтобы имитировать некоторые свойства материалов.

Правильно сопоставить точки объекта точкам текстурных карт помогает модификатор UVW Map. Он помогает избежать текстурных растяжений и правильно наложить карты на объект.

Что такое развертка?

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

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

Например, для зверя, его «разверткой» и текстурой будет являться собственная шкурка. Каждую точку шкурки мы можем сопоставить зверю. То есть, если бы мы могли завернуть зверя в шкуру, то шкура идеально подошла объекту-зверю.

Но если у нашего зверя качественная текстура и правильная развертка уже присутствуют от природы, то у наших искусственно созданных объектов изначально нет ни развертки, ни тем более текстуры. Нам необходимо создать развертку самим, а она в свою очередь поможет нам правильно «завернуть» наш объект в текстуру.

Более понятен и близок к нашему разговору процесс создания паперкрафт-игрушек. Здесь сначала создается развертка, расчерченная на бумаге, а потом уже из нее сворачивается объект.

Модель

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

Нам необходим объект сложнее примитива, который мы хотим затекстурировать. Я создал для нашего упражнения вот такую модель. Это единый объект, единая сетка.

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

Если сейчас мы применим к нашему домику материал с картой Checker (шахматная клетка) в диффузном канале, то увидим все несовершенство штатной развертки.

Модель домика

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

Развертка

Взглянем на саму развертку. Для этого применим к нашему объекту модификатор Unwrap UVW . Далее в свитке Parameters (Параметры) нажмем кнопку Edit (Редактирование развертки).

Появится окно редактора развертки Edit UVWs (Редактирование координат UVW).

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

Для начала давайте приведем наши кусочки развертки в порядок. Для этого в области Selection Modes (Режимы выделения) на панели под окном редактора развертки выберите режим Face Sub-object Mode (Выделение полигонов).

В появившемся окне Flatten mapping жмем ОК, оставляя параметры по умолчанию. Эта команда позволяет нам раскидать элементы развертки и избавиться от наложений.

Теперь мы видим, что куски не пересекаются друг с другом, многие части модели домика уже узнаются, а квадраты карты Checker почти не искажены. Зелеными показаны внешние ребра элементов, белыми – внутренние.

В перспективном виде мы также можем наблюдать зеленые ребра. Они тоже показывают внешние края наших кусков развертки – они образуют на модели швы. На перспективном виде удобно контролировать расположение кусков. Выделение элементов в редакторе мгновенно отображается и в перспективном виде.

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

Управление в видовом окне редактора схоже с управлением в рабочем видовом окне вьюпорта:

Под главным меню редактора располагаются инструменты для управления кусками развертки - элементами (а также их подобъектами).

Первые три инструмента Move , Rotate и Scale отвечают за перемещение, вращение и масштабирование соответственно. Их функции ничем не отличаются от аналогичных инструментов на основной панели инструментов 3ds Max.

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

Последняя кнопка отвечает за различные режимы отражения элементов.

Работа с кусками (элементами)

Удобнее всего объединять элементы в единые куски следующим образом.

Выделяем крайние (зеленые) ребра одного элемента (режим Edge Sub-object Mode ) – они подсвечиваются красным. Далее находим взглядом в окне редактора элемент с подсвеченными синими ребрами. Эти ребра (красные и синие) являются общими для двух элементов.

Соединяем элементы командой Tools (инструменты) > Stitch Selected (Сшить выделенные). Эту команду также можно вызвать из контекстного меню (правая кнопка мыши).

Итак, два элемента сшиты.

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

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

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

Так шаг за шагом сшиваем куски попарно. Не старайтесь все сшить в один огромный кусок. Сшивайте, руководствуясь следующими несложными правилами:

  • Сшивайте группами по родственным текстурам (каменная кладка к каменной кладке, дерево к дереву и т.д.)
  • Сшивайте так, чтобы внешние ребра кусков (швы) оказывались в незаметных местах. Именно там возможны несостыковки текстуры.
  • Размещайте куски так, чтобы было удобно текстурировать (то есть не к верху ногами, не боком, не отзеркаленными…).

В процессе сшивания разрозненных кусков вы, наверняка, обнаружите, что некоторые куски соединены не так, как бы вам хотелось. Можно довольно просто исправить эту ситуацию. Выделите фрагмент, который вы хотите отделить (удобнее всего сделать это в режиме выделения Face Sub-object Mode (Выделение полигонов)). Затем отделите фрагмент командой Tools (инструменты) > Detach Edge Verts (Отделить крайние вершины). Также эту команду можно вызвать с помощью контекстного меню (правая клавиша мыши) в редакторе.

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

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

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

Развертка готова! Экспортируйте развертку в удобный для вас растровый формат.

Команда меню Tools (инструменты) > Render UVW Template… (Визуализировать UVW-шаблон). Вы увидите небольшое окно Render UVs с параметрами визуализации развертки.

Width , Height – размеры вашей будущей текстуры. Из-за особенностей игровых движков и памяти видеокарт принято сохранять текстуры в форме квадратного изображения со сторонами размерами 2^n (256х256, 512х512,1024х1024 и т.д.) Хотя наш домик и не готовился к вставке в игровой механизм, будем придерживаться правил хорошего тона.

Остальные параметры в данный момент нам не столь важны (цвет швов и ребер и т.д.)

После нажатия кнопки Render UV Template откроется обычное окно визуализации, в котором будет находиться наша развертка. Жмем на иконку дискеты и сохраняем изображение развертки в любом удобном формате.

Теперь вам осталось самое интересное – нарисовать текстуру поверх изображения развертки.

В предыдущем уроке мы ознакомились с базовыми методами проецирования текстур: параметрическим проецированием и внедрением текстур в виде проецируемых изображений (As Projection ) или по трафарету (As Stencil ). Данные методы удобны при проецировании простых моделей, однако их может оказаться недостаточно при текстурировании более сложных моделей (такие объекты обычно требуют совместного использования нескольких типов проецирования и (или) коррекции наложения текстурных координат), а для текстурирования моделей, раскрашиваемых вручную, они и вовсе не подойдут. В подобных случаях приходится создавать развертку модели в редакторе проекционных координат UV Texture Editor . С одной стороны, подобная развертка позволяет более тонко настроить параметры проецирования, благодаря чему искажения текстуры оказываются минимальными. С другой стороны, по такой развертке можно нарисовать любую, даже самую замысловатую текстуру, а затем разместить ее на поверхности объекта с учетом развертки. Рассмотрению простых приемов создания и раскраски UV-развертки и посвящен данный урок.

Теоретические аспекты

Развертка - это плоская карта объекта, на которой присутствуют все его элементы, но расположены они не в пространстве, а на плоской поверхности (рис. 1). То есть если воспринимать модель как реальное скульптурное изображение, а развертку нарисовать на обычном листе бумаги, то, разрезав развертку на отдельные фрагменты, мы сможем наклеить полученные кусочки бумаги на скульптуру, как бы одев ее в бумажный наряд. А потому суть проецирования материалов через UV-развертку состоит в том, чтобы имитировать разрезание внешней оболочка модели на отдельные фрагменты, разложить их на проекционной сетке (так называемом UV-пространстве), превратить полученную развертку в растровое изображение, разрисовать последнее и вновь наложить на поверхность модели.

Технически это выглядит следующим образом. Вначале поверхность объекта мысленно разбивается на фрагменты - во фрагменты объединяют находящиеся рядом грани, к которым будет применен один и тот же тип проецирования, а также одинаковый вариант раскраски. После этого для каждого из фрагментов создают развертку и все элементы развертки размещают на отведенном для этой цели поле редактора проекционных координат UV Texture Editor . Затем делается снимок развертки (UV Snapshot ), представляющий собой обычное растровое изображение. Данный снимок загружается в графическом редакторе, например в Adobe Photoshop, где по развертке (ее удобнее всего использовать в качестве верхнего слоя изображения) создается многослойная текстура (то есть развертка непосредственно разрисовывается), которая сохраняется в графическом файле уже в виде однослойного изображения. На последнем этапе необходимо вновь активировать Maya, создать новый материал, подключить у него на канале Color подготовленную текстуру и назначить данный материал модели, в результате чего текстура окажется наложенной на модель в точном соответствии с разверткой.

При проецировании материалов через UV-развертку следует иметь в виду следующие моменты:

  • в силу длительности и большой трудоемкости операций выделения граней и назначения группам граней вариантов проецирования обычно текструрируют несглаженные модели, сглаживают модели уже после наложения текстуры;
  • процесс выделения граней можно существенно ускорить, если выделять грани не обычным образом, а с применением выделяющей кисти, активируемой командой Edit =>Paint Selection Tool (Редактировать=>Выделяющая кисть). У данной кисти следует отрегулировать размер, после чего можно приступать к выделению, которое будет заключаться в рисовании (то есть проведении) данной кистью по выделяемым граням. При случайном выделении ненужной грани операцию можно тут же отменить;
  • обычно приходится выделять много граней, и совсем необязательно, что делать это придется однократно, поскольку далеко не всегда можно точно сказать, какой из вариантов проецирования обеспечит лучшие результаты. Чтобы избежать повторного выделения граней (что на порядок удлиняет процесс работы), в ряде случаев разумнее отдельные наборы граней запоминать в виде выделенных областей, применяя команду Create =>Sets =>Quick Select Sets (Создать=>Наборы=>Наборы быстрого выделения). После этого выделенную область можно в любой момент активировать, воспользовавшись командой Edit =>Quick Select Sets (Редактировать=>Наборы быстрого выделения).

В редакторе UV Texture Editor отображаются развертка с проекционными координатами и текстура. Если текстура не видна, то необходимо щелкнуть по кнопке Show Texture Image (Показать изображение текстуры) либо применить команду Image =>Display Image (Изображение=>Отображение изображения). Если текстура повторяется (а этого не требуется), то следует ограничить границы интервалов U и V , щелкнув на квадратике справа от команды Image =>Image Range (Изображение=>Интервал изображения) и выставив параметры Minimum U и Minimum V равными 0, а параметры Maximum U и Maximum V - 1.

UV-развертку можно использовать при текстурировании полигональных моделей и поверхностей с иерархическим разбиением (Subdivision Surfaces ). Команды, ответственные за работу с UV-координатами полигональной модели, находятся в меню Polygons редактора проекционных координат, а за управление UV-координатами подразбиваемых поверхностей отвечает меню Subdivs .

В окне редактора UV Texture Editor выделенные проекционные координаты можно перемещать, поворачивать и масштабировать. Для этого требуется перейти в режим работы с UV-координатами, применив команду UV из контекстного меню редактора, а затем воспользоваться инструментами Move Tool , Rotate Tool и Scale Tool . Кроме того, в отношении проекционных координат допустимо еще множество самых разных операций, доступных из меню редактора UV Texture Editor . Наиболее важные среди них следующие:

  • Normalize UV s (Нормализовать UVs) - размещает развертку внутри UV-пространства;
  • Flip UVs (Зеркально отразить UVs) - применяется для зеркального отображения проекционных координат;
  • Rotate UVs (Повернуть UVs) - позволяет повернуть выделенные UVs-координаты на строго заданный угол;
  • Map UV Border (Вычерчивание UV-границы) и Straighten UV Border (Выпрямление UV-границы) - предназначены для распутывания границ развертки вдоль выделенных UV-координат, что актуально, например, в случае, если граница образует петлю. Обе операции используются при подготовке к операции Relax UVs , которая работает лучше, если граница распутана. Операция Map UV Border позволяет расположить границу выделенного фрагмента UV-координат вдоль границ квадрата в диапазоне от 0 до +1 или окружности, вписанной в тот же квадрат. Операция Straighten UV Border подобных ограничений не имеет, и полученная после ее применения граница может иметь произвольную форму;
  • Relax UVs (Смягчить UVs) - позволяет распутать внутренние UV-координаты без нарушений границы развертки и, как правило, используется после применения операции Map UV Border либо Straighten UV Border ;
  • Layout UVs (Скомпоновать UVs) - обеспечивает расположение UV-координат так, чтобы они не перекрывали друг друга;
  • Align UVs (Выровнять UVs) - выравнивает проекционные координаты друг относительно друга;
  • Cut UVs (Разрезать UVs) - позволяет разрезать развертку на части вдоль выбранных ребер;
  • Sew UVs (Сшить UVs) - обеспечивает сшивание фрагментов развертки вдоль выбранных ребер;
  • Move and Sew UVs (Переместить и сшить UVs) - позволяет сшить фрагменты развертки вдоль выбранных ребер с перемещением фрагментов друг к другу (меньший фрагмент перемещается к большему);
  • Merge UVs (Слить UVs) - позволяет слить выделенные координаты вместе (таким образом объединяются только координаты, разделяющие одну и ту же вершину); данная операция заменяет обычное сшивание, однако лучше подходит для слияния полигонов с однотипной геометрией, в то время как Sew UVs предпочтительно выбирать при сшивании разнотипных полигонов;
  • Delete UVs (Удалить UVs) - используется для удаления ненужных проекционных координат;
  • UV Snapshot (Снимок UV) - позволяет сохранить расположение UV-координат в графическом файле, который затем может применяться в качестве шаблона для рисования текстуры в Paint Effects или в любом графическом редакторе.

Подгонка развертки под готовую текстуру

Для начала рассмотрим пример текстурирования игральной кости, на разных гранях которой должно быть от одной до шести точек. Сформируйте обычный полигональный куб (рис. 2). Поскольку мысленно разрезать куб по ребрам для получения его развертки не составляет труда, то несложно представить, как будет выглядеть необходимая текстура. Поэтому сразу откройте любой графический редактор, создайте в нем новое изображение размером 600x800, включите сетку и установите направляющие, разбив изображение на три квадрата по вертикали и на четыре - по горизонтали. Нарисуйте в определенных квадратах круги так, как показано на рис. 3. Сохраните полученное изображение в виде файла в формате JPG (рис. 4). Переключитесь в Maya и для отображения текстур в окне перспективы включите режим аппаратного текстурирования, воспользовавшись командой Shading =>Hardware Texturing (Затенение=>Аппаратное текстурирование). Откройте редактор Hypershade , создайте новый Blinn-материал, обычным образом (то есть в режиме As Normal ) подключите на канале Color нарисованную текстуру и назначьте данный материал кубу. Результат окажется совсем не таким, как хотелось бы, поскольку текстура на каждой из граней будет отображена в полном своем объеме, а не по квадратам (рис. 5).

Попробуем исправить ситуацию. При выделенном в окне проекции Perspective кубе откройте редактор проекционных координат, применив команду Window =>UV Texture Editor . поскольку куб является примитивом, то UV-координаты для него генерируются автоматически и потому развертка текстуры уже имеется, но ее положение по отношению к текстуре далеко от желаемого (рис. 6). Имейте в виду, что увидеть развертку в представленном на рис. 6 виде, скорее всего, вы сможете только после уменьшения масштаба ее отображения, что выполняется с помощью мыши точно так же, как и в окне проекции. К тому же обратите внимание, что размер развертки гораздо больше размера текстуры. Поэтому необходимо подогнать развертку по текстуре - в данном случае потребуется операция масштабирования. В окне UV Texture Editor щелкните правой кнопкой мыши и выберите команду UV (это позволит работать на уровне UV-координат), выделите все вершины куба и, воспользовавшись инструментом Scale Tool , уменьшите развертку так, чтобы текстура была наложенам требуемым образом (рис. 7 и 8).

Рис. 6. Развертка в окне UVTextureEditor

Создание развертки

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

Рассмотрим пример текстурирования обычного полена, в роли которого будет выступать полигональный цилиндр. Текстура на боковой поверхности объекта и торцах должна быть различной, а потому без построения развертки не обойтись. Создайте цилиндр, выделив его, откройте редактор проекционных координат, где будет отображена автоматически назначенная цилиндру как примитиву UV-развертка (рис. 9). Однако, руководствуясь ей, нужный по замыслу вариант текстурирования не реализовать, поэтому переключитесь в режим работы с текстурными координатами (команда UV из контекстного меню UV Texture Editor ), выделите все координаты развертки и удалите их при помощи команды Polygons =>Delete UVs (Полигоны=>Удалить UVs).

Перейдите в режим работы с гранями, нажав клавишу F11. Активируйте выделяющую кисть (команда Edit =>Paint Selection Tool ) и выделите ею все грани боковой поверхности цилиндра (рис. 10). Назначьте данным граням цилиндрическое проецирование, применив команду Edit Polygon s =>Texture =>Cylindrical Mapping (рис. 11). Переместите созданный фрагмент развертки на свободное пространство (рис. 12) - если этого не сделать, то следующий фрагмент развертки будет наложен на только что созданный, после чего разобраться с ними будет проблематично. Из граней верхней поверхности цилиндра создайте новое выделение и назначьте данным граням планарное проецирование, воспользовавшись командой Edit Polygons =>Texture =>Planar Mapping (рис. 13). Переместите полученный фрагмент развертки на свободное пространство. Аналогичным образом создайте фрагмент развертки для нижней поверхности. В режиме работы с UV-координатами (команда UV из контекстного меню) выделите все три фрагмента развертки, уменьшите их масштаб и переместите внутрь UV-пространства (рис. 14). Создайте снимок развертки, открыв из меню Polygons команду UV Snapshot (Снимок проекционных координат) и в появившемся диалоговом окне указав имя файла (поле File Name ), размер (поля Size X и Size Y ) и формат изображения (список Image Format ). Имейте в виду, что изображение должно иметь размер не менее чем 512х512, а лучше - 1024х1024.

Рис. 10. Выделение граней боковой поверхности цилиндра инструментом PaintSelectionTool

Откройте полученный графический файл в любом графическом редакторе (мы выбрали Paint Shop Pro) - рис. 15. Создайте дубликат слоя с разверткой, а затем установите под него слой с фоновым изображением, а также слои со спилами и текстурой коры (рис. 16). Сделайте слой с копией развертки невидимым (рис. 17) и сохраните изображение в графическом файле с объединением слоев (рис. 18). Откройте созданное изображение текстуры (уже однослойной) в графическом редакторе, переведите изображение в режим Grayscale и увеличьте контрастность изображения (рис. 19), сохраните изображение под другим именем.

Переключитесь в Maya, создайте новый Lambert-материал и установите для него на канале Color в качестве текстуры первое созданное изображение. Подключите вторую (черно-белую) текстуру на канале Bump и подберите подходящее значение параметра Bump Depth (мы остановились на значении 0,2). Проведите рендеринг, и вы увидите примерно такое же полено, как представлено на рис. 20.

А теперь несколько усложним задачу: текстурируем объект, полученный из полигонального цилиндра путем экструдирования граней (рис. 21). Попробуем назначить ему такую текстуру, чтобы данный объект стал напоминать набор выстроенных в ряд детских кубиков с буквами алфавита. Сложность в том, что при формировании развертки придется не только учитывать то, какие грани следует объединять вместе, но и добиться минимальных искажений текстуры, поскольку буквы должны иметь одинаковый размер на всех кубиках и не быть растянутыми. Поэтому создайте новый материал, подключите у него на канале Color шахматную текстуру и назначьте данный материал объекту (рис. 22) - изначально ничего хорошего не выйдет, поскольку сгенерированные первоначально для куба UV-координаты совершенно не соответствуют модели.

В режиме работы с UV-координатами выделите все координаты и удалите их командой Polygons =>Delete UVs . Выделите грани одной из боковых поверхностей объекта и назначьте им автоматическое проецирование (Edit Polygons =>Texture => Automatic Mapping ) - рис. 23. Переместите фрагмент на свободное пространство. Выделите грани другой боковой поверхности, также назначьте им автоматическое проецирование и вынесите фрагмент развертки за пределы UV -пространства. Аналогичные операции произведите для двух других боковых поверхностей, а потом и для двух оставшихся отдельных граней (рис. 24). Перейдите в режим работы с UV-координатами, выделите все текстурные координаты боковых поверхностей и масштабируйте их так, чтобы размер квадратов шахматной текстуры на всех поверхностях стал одинаковым (рис. 25). По окончании все фрагменты развертки равномерно масштабируйте и разместите внутри UV-пространства (рис. 26). Создайте снимок развертки, применив команду Polygons =>UV Snapshot .

Откройте полученный графический файл в графическом редакторе. Создайте дубликат слоя с разверткой, а затем установите под него слой с фоновым изображением и слой с цветными квадратами, на каждом из которых находится по букве (рис. 27). Сохраните данную текстуру как однослойное изображение. Переключитесь в Maya и замените шахматную текстуру на только что созданную - это приведет к получению имитации набора из пяти кубиков (рис. 28).

UV-развёртка представляет собой самый гибкий метод представления двумерных текстур на объекте трехмерного формата. Такой технический процесс поможет правильно разместить 3Д модель на плоскости, создать UV-развертку. Это помогает сделать модели максимально реалистичными и подробными. Такими же преимуществами не могут похвастать никакие процедурные текстуры.

Поближе познакомиться с особенностями реализации такого процесса можно на примере картонной коробки. По своей природе она является параллелепипедом. Однако её легко превратить в плоскую развертку, если разрезать объект по линиям изгиба. Так и будет создана UV-развёртка. Вы сможете быстро понять, какая грань отвечает за верх или низ коробки, так как именно вы занимались её разрезанием.

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

Не менее интересным примером UV-развёртки станет картографическая проекция. Специально обученные люди или программные средства превращают сферическую поверхность Земли в плоскость. Метод имеет ряд недостатков, так как отображает страны у полюсов меньшими, а у экватора большими, чем на самом деле.

Картинка выше наглядно показывает отличия между отображением текстур в трехмерном варианте и с помощью развертки. При этом на развертке у объекта есть не только данные о координатах X,Y,Z , но и U,V .

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

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