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

 
Категории 
Программы 
 

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

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

В качестве основного программного инструмента использовался Photoshop, но одним из главных составляющих успеха является наличие хорошо подготовленной карты UV с минимально возможными растяжениями. Созданию такой карты посвящен урок, написанный Chris Kniffen, который Вы можете посмотреть здесь Кроме того здесь Вы найдете несколько ссылок, посвященных той же тематике. Leigh van der Byl написал статью, рассказывющую о текстурировании. Она легко написана и содержит много полезной информации.

Вот как выглядит UV карта для головы моего персонажа.

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

Обычно я работаю с текстурами разрешением 3000х3000. Если Вы выполняете данный урок с учебной целью или не нуждаетесь в высокой детализации, можно понизить размерность текстуры до 1000х1000 или 1500х1500.

Для данного проекта я подготовил следующие карты:

  • Color Map (Карта цвета)
  • Bump Map (Карта рельефа)
  • Spec Map (Карта бликов)
  • Reflectivity Map (Карта отражений)
  • Transparency Map (Карта прозрачности)
  • Translucence Map (Карта светопроницаемости)
  • Diffuse Map (Карта рассеянного отражения)

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

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

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

В качестве основы, я создал светло-серый слой, а поверх него наложил UV карту, сделав ее полупрозрачной.

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

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

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

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

Загрузим Maya и воспользуемся средствами рендерера IPR для подбора параметров процедурных текстур.

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

Для начала я наложил на объект фрактальный шум и подобрал подходящие характеристики

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

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

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

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

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

Размер текстуры, как я уже говорил, 3000х3000 и, поскольку детализация текстуры в данном проекте критична, в качестве формата текстуры выбран TIFF.

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

После того, как Maya записала текстуру, я добавил ее в качестве слоя к своей карте в Photoshop.

Теперь воспользуемся другими процедурными картами

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

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

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

Вот как выглядит то, что получилось в Photoshop

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

Для имитации мельчайших морщинок, которыми покрыта кожа, используется процедурная текстура Brownian, которая опять же конвертируется в файл.

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

Теперь займемся крупными порами кожи

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

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

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

После получения всех нужных мне текстур, я начал смешивать их между собой, стирая ненужные участки и периодически проводя тестовый рендеринг. В качестве режимов смешивания слоев я использовал soft light, multiply или overlay

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

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

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

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

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

Я начал постепенно ослаблять карту пятен, но шишку над правой бровью оставил в неприкосновенности.

Для смешивания слоев карты рельефа друг с другом я применял режимы слоев soft light или overlay с прозрачностью, но окончательное решение всегда принималось по результатам эксперимента.

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

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

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

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

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

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

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

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

И еще один небольшой прием, облегчающий рисование карт. Я отрендерил объект на текстуру. При постановке освещения активно использовались материалы урока Dr Emmanuel Campin, который Вы сможете посмотреть здесь. Помните, что такой рендеринг на текстуру с высоким разрешением может занять значительное время.

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

Я расставил осветители и в настройках конвертирования текстур установил флажок Bake Shadows.

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

Вот что получилось в результате рендеринга. Используя такое изображение как шаблон, вместо карты UV координат, гораздо проще рисовать текстуру.
Кроме того, полученная таким образом текстура может служить в качестве основы для другой карты. Разумеется не карты рельефа (bump), но, например бликов (specular) или рассеянного отражения (diffuse).

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

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

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

Тестовый рендеринг

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

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

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

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

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

Как видите использование процедурных текстур Maya позволяет добиваться более или менее приличных результатов.
Для данной модели, возможно, будет уместным использование карты смещения (displacement).

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

Итак, с картой рельефа покончено, хотя возможно я вернусь к ней позже. Теперь займемся картой цвета (Color map).

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

Начнем со слоя, который должен быть залит цветом со следующими составляющими R=227 G=183 B=156.

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

Поверх него надо поместить слой с более темным тоном R=217 G=157 B=137

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

Затем я растворил слой с темным тоном, и слегка размыл его.

Примечание переводчика:Если честно, я не представляю, что имел в виду автор, говоря о растворении (в оригинале diffuse) темного слоя. Похожий эффект у меня получился следующим образом. Для темного слоя я установил режим Dissolve, и убавлял значение Opacity, пока не получил желаемого результата. Потом оба слоя я слил, а уж затем добавил размытие.

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

Это довольно распространенный прием для имитации неравномерности цвета на коже.

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

Теперь созданный слой я скрыл, создал новый и начал рисовать на нем разнообразные пятна. Рисование большого количества пятен может оказаться утомительным, поэтому попробуйте сделать собственную кисть для этих целей. Создайте новый файл Photoshop размерностью примерно 200х200 и нарисуйте на нем разные пятна. Затем сделайте кисть из этого изображения. Меню для этой операции показано на рисунке.

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

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

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

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

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

Это изображение я поместил в нижний слой и смешал его с остальными слоями, используя режимы слоев soft light или multiply, что дает возможность оперативно делать текстуру темнее или светлее. Поскольку шейдер кожи, который я применяю, имеет тенденцию обесцвечивать текстуру, я делаю ее заведомо темнее, чем нужно.

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

Здесь текстура смешана с двумя ранее заготовленными светлыми слоями. На рисунке слои, которые я смешивал, помечены красным. Режимы смешивания: soft light и multiply. Так же обратите внимание на светлый слой под темным изображением. Он оставлен на случай, если понадобится осветлить текстуру. Тогда можно будет сделать темный слой более прозрачным. Как видите пятна и детали, нарисованные на светлых слоях остались видны

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

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

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

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

Обратите внимание на помеченный красным слой 28 (для удобства в работе лучше давать слоям более осмысленные имена, но в данном проекте я пренебрег этой необходимостью)

В слое 28 я нарисовал светлым цветом пятна, установил режим слоя Lighten, а значение Opacity понизил до 20%. С одной стороны картинки слой изображен так, как это было до изменения Opacity.

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

Теперь добавим слой с темными пятнами. Режим смешивания Multiply.

Примечание переводчика: Как и на предыдущей картинке, автор для наглядности с одной стороны изобразил слой с темными пятнами, а с другой то, что получилось в результате его создания. Далее такой прием будет применяться очень часто и специально оговаривать этого я (как и автор) не буду

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

Теперь опять добавим светлых пятен, но не точками, а более крупными областями. Режим слоя опять Lighten, а Opacity = 20%.

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

Далее добавим немного красных тонов, чтобы кожа была окрашена более неравномерно.

Примечание переводчика: Насколько я понял автора, если режим смешивания слоев и значение Opacity не указаны, их можно посмотреть на картинке

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

Опять добавим светлых пятен, но мелких и очень густо. Для этого удобно создать и настроить специальную кисть. Режим смешивания Lighten, значение Opacity очень маленькое.

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

Теперь слой с мелкими темными пятнами, режим смешивания Multiply

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

Извините, но опять слой с пятнами

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

Добавим несколько слоев со щетиной. Для получения слоя с мелкими точками просачивается (diffused) черный слой.

Примечание переводчика: Насколько я понял, повторяется прием, использованный выше для задания тона кожи, только не применяется фильтр Blur.

Там, где щетины быть не должно, изображение на слое стирается.

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

Очередной слой с пятнами :-)

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

Еще пятна. Они рисуются поверх пятен, которые содержались в одном из слоев карты рельефа.

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

На этом слое я закрасил несколько больших областей синими тонами. Режим смешивания Multiplay.

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

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

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

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

Теперь немного мелких вен.

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

Добавим царапин и шрамов, которыми должно быть покрыто лицо персонажа

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

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

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

Вот как выглядит окончательно сделанная карта цвета, хотя, конечно всегда найдется что в ней улучшить. Общий размер файла в формате Photoshop 400mb.Я уменьшил размеры и обрезал файл до разрешения 684х1031. В результате размер сократился до 18mb. Получившийся файл, упакованный с помощью программы winrar, Вы можете скачать здесь

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

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

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

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

Текстура, помеченная буквой A, представляет собой карту светопроницаемости (Translucence) Вот как она выглядит.

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

  • Буквой B помечена карта рассеивания (Diffuse). По моему мнению, стандартный рендерер Maya склонен делать текстуры более тусклыми. Чтобы сделать нужные места (например пятна) чуть ярче, на этой карте они должны быть выделены ярко белым цветом. Участок, помеченный буквой C представляет собой градиентный цвет, идея которого предложена в шейдере кожи Dr Steven Stahlberg, о котором Вы можете прочитать здесь. Он подключен к карте подсветки (Ambient), чтобы имитировать красное свечение, возникающее вокруг кожи.
  • Буквой D отмечена ветка, отвечающая за изменение тональности кожи. Идея заимствована из шейдера кожи Dr Matt Wood, с которым можно ознакомится здесь. Второй слой помечен желтым. К сожалению, слои расположились в окне Hypershade не в том порядке, в котором они расположены в итоговом материале. Из-за большой сложности шейдера я не стал переоформлять его. Буквой A помечен шейдер кожи, который Вы можете найти на сайте Maya. Он очень хорошо передает цвет кожи и содержит некоторые настройки, позволяющие придать коже правильный вид.

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

  • Буквой B помечена цветовая карта (Color Map)
  • Буквой C – карта рельефа (Bump Map)
  • Карта отражения (Reflectivity Map) помечена буквой D. Она позволяет придать коже блеск в некоторых местах.
  • Розовым помечена карта прозрачности, которая используется для смешивания нижнего слоя. Некоторые области я хотел оставить темными, другие сделать более красными.
  • Зеленым обведен участок, основанный на градиенте, с помощью которого я пытался сымитировать светопроницаемость кожи. Данный способ также заимствован из шейдера кожи Dr Stahlberg, о котором Вы можете прочитать здесь.
  • Синим выделена ветка, задача которой обеспечить блики. Идея этого участка взята из шейдера обратного освещения Dr Emmanuel Campins, с которым можно ознакомится здесь.
  • Буквой A помечена карта зеркальных бликов (Specular Map)
  • И, наконец, последний слой помечен белым. Он также отвечает за создание бликов и имитирует отблеск, порождаемый влажными участками кожи.
  • Буквой A помечена карта зеркальных бликов (Specular Map)
  • Буквой B – карта светопроницаемости, придающая красный отблеск ушам Вот и все, что я хотел рассказать о шейдере.

К сожалению, в данном уроке я не буду останавливаться на подробностях, связанных с освещением и рендерингом, но надеюсь сделать это в будущем, а в финальной части урока немного расскажу об остальных картах. Сначала займемся картой бликов (Specular Map).

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

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

Обычно более блестящими выглядят области носа, губ и нижнего века. Для настройки этой карты, я сделал темные области еще более темными, а светлые еще ярче.

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

К результату я применил корректирующий слой Hue/Saturation, чтобы ослабить все цвета

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

Обратите внимание, что я использовал большинство ранее подготовленных слоев, но часть отвечающих за цвет отключил.

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

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

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

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

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

Так выглядит карта рассеянного освещения (Diffuse Map). В ней нет ничего необычного. Постарайтесь только оставить в неприкосновенности все темные пятна и отметки.

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

И, наконец, последняя карта – карта светопроницаемости (Translucence Map). Она предназначена для того, чтобы сымитировать подповерхностное рассеивание и добавить немного красноты вокруг ушей и кончика носа.

В Maya эта карта была уменьшена и сделана чуть темнее. Обратите внимание, что все пятна и детали рельефа оставлены в неприкосновенности.

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

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

Окончательно проект выглядит так

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

Источник: www.3dcenter.ru
Автор: Алексеев В. (heshang)

912 1
 
 
 
 
 

Комментарии

 -  24.11.2011 - 12:58

круто

Отправить комментарий

CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.
CAPTCHA на основе изображений
Enter the characters shown in the image.
Добавить урок

Нажмите чтобы добавить Новый урок. После одобрения администрацией он станет доступен для публики.