Юрий Романюк (romanyuk_art) wrote,
Юрий Романюк
romanyuk_art

Category:

Victory Roll Tutorial часть-2

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

Normal_map_from_paterns.jpg
В основе патерна чулков была одна клетка, которую я нарисовал в Фотошопе. После применения инструмента pattern во вкладке edit я
смог повторять этот элемент сколько угодно раз.
id_texture.jpg
Следующим шагом нужна была развертка ноги, полученная с нижнего сабтула хайполи. Но перед этим, я отрезал ногу и скопировал ее
в новый файл, так как манипуляции с телом съедали много ресурсов. Полученную развертку я экспортировал из modo в .EPS и уже в
фотошопе имитировал растяжение чулков инструментом трансформ. Полученную маску импортировал в Zbrush и после нескольких
Division отобразил ее на хайполи через маску, инструментом mask from alpha. Созданная маска позволяет получить отдельную
геометрию инструментом extract во вкладке subtul. У нового слоя удалил внутреннюю плоскость, которая отображается отдельной
полигруппой, это лишняя геометрия. После чего применил Zremesher для получения более адаптивной геометрии.

    - Вычисление
Позволю себе еще раз отступить, и оговорить момент с запеканием и другими вычислениями, которые за частую отнимают очень много
времени. Заранее договоритесь с вашим работодателем об удаленном использовании рабочего компьютера, который по вечерам
простаивает. Тогда как вы могли бы использовать его для запекания вычислений и рендера, настроив удаленный доступ. Многие
работодатели и компании не откажут вам в этом, если вы грамотно опишите просьбу. В маленьких компаниях о таком договориться
совсем не трудно. В идеале для этих целей лучше иметь запасной компьютер дома в кладовке. Такой маневр лично мне сокращает
время в половину.
- Сбор схемы в Substance disigner
Для автоматической сборки похожих текстур я собрал в Substance designer схему, суть которой состоит в генерации из id маски
готовых текстур. Речь идет о текстурах alibedo, roghnes, metallic, normal map. Я отталкивался от своего наработанного процесса в
фотошопе, так как по итогу я выполняю одни и те же манипуляции почти для всех текстур. И собственно их я и решил вынести в виде
блок схем в Substance. Интерес в этой схеме в том, что имея на руках нормал мап, оклюжен и айди маску с определенными цветами, для
которых я заранее определил материалы, можно быстро собирать однотипные текстуры, но с разными цветами и паттернами.
У меня все начинается с основного блока, который разбирает Id mask в дерево, каждой ветке которого соответствует свой цвет и
материал с патерном, который всегда можно изменить на подходящий.

Так выглядит вся схема в Substance disigne.
- Список всех используемых нод

    - Ветвления схемы
Почти каждый блок имеет одинаковый вид, ветку с паттерном и ветвь с цветом. Дополнительно каждый блок имеет разделение цвета
на дополнительные две ступени. Эти ступени можно миксовать эмитируя потертость, проявляются они в виде пробивания одного цвета
через другой в зависимости от маски. Маску я беру из оклюжина, предварительно подняв левел этой части, что бы предать маске
резкости.
- Обработка оклюжина
Эта текстура вынесена в отдельный блок, в котором через id mask отрезается оклюжин и подготавливается для использования в
качестве маски в следующем блоке, который в свою очередь миксует два цвета. И так происходит для каждой ветки материала из
основного блока (base color в моей схеме обозначает id mask)
- Блок рохнеса и металика
По строению похожи, задача обоих блоков брать паттерн из каждой ветки основного блока, обрезать его по альфе, полученной из id
mask, и окрасить в нужный оттенок серого с поднятием левела или если нужно инвертировать паттерн. Затем все ветки сводятся в один
нод, который уходит в следующий блок. Маска, полученная после слияния веток, имитирует потертую поверхность, обрезая и приглушая
паттерн.

- Блоки наложения деталей
Каждый блок после основных манипуляций должен получить финальные детали и резкость. Все детали в свою очередь я вынимаю из
каналов нормал мапы. Собственно, это можно проследить из скриншотов схемы, где два канала красный и зеленый перемножаются на
все предыдущие ноды.
detal_for_metalic.jpg
- Блок нормал мапы
В этом месте из всех моих паттернов генерируется нормал мап и накладывается на базовую текстуру нормал, без разницы нужен он
мне там или нет, но по умолчанию я свел возможность получения нормала из каждой ветки материала. В любом случае можно опустить
интенсивность нормал мапы до нуля в нужной ветке. Для ветки нормал мап так же работают потертости, так как в потертом месте не
должно быт интенсивной нормал.
Когда я работал с блоком, который должен генерировать из паттернов нормал мап и накладывать их на основную текстуру, то
столкнулся с проблемой. Когда я нарезал паттерны через маски, то куски сгенерированных паттернов сводил в единую ноду, после чего
накладывал ее на основную нормал мап. Такой микс давал искажения тона нормал мапы и повышал ее контраст. Почему так происходит,
я так и не понял, но решение я нашел, когда нарезанные отдельные куски паттернов, накладывал по очередности в лестничной
последовательности тогда все было в порядке.
nodes.jpg
-  Блок пост обработки
Это мой финальный блок, который несет в себе наложение всех деталей кавити и пост обработки, с небольшой долей оклюжина, на
собранный слой из основного блока. На первой ступени в блоке разбирается нормал на каналы, которые по очереди накладываются,
добавляя деталей и резкости текстуре. Следом идет сгенерированная кавити из той же нормал мапы и последним накладывается
цветной оклюжин шарп левел и хайпас в очень маленьком значении.
pattern_uzor.png
-  Блок цветного оклюжина
Так как pbr шейдер не приемлет запеченный свет, то его можно преобразовать в цветовую вариативность. Но, это скорее мой
эксперимент. Я вынес этот функционал в отдельный блок, где по веткам разнес возможность подкрашивать оклюжин в каждой основной
ветке материалов.
befor_after.jpg
16bit.jpg
Результат подкрашивания оклюжина по маскам.
-  Блок наложения второго паттерна
В этом блоке я могу накладывать второй паттерн поверх имеющегося паттерна ткани. С возможностью удалить нижний паттерн по
маске. У этой части так же имеются несколько линий с соответствующими названиям используемых материалов в основном блоке и
возможность изменять цвет накладываемого паттерна.

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

Пример того как выглядят края 16 битной маски и 8 битной.
-  Работа с грейс текстурами
Если текстура загружаемая в Substance не имеет цвета, и дальнейшие манипуляции с этой текстурой тоже будет в ч/б тонах, то
желательно выбирать грейс режим. Это существенно повысит скорость обработки схемы в аллегорике. В моем случае нода в RGB
режиме обрабатывалась со скоростью 40 милисекунд, после преобразования в грейс скорость обработки упала до 12 милисекунд.
face.jpg
Перевод файла в грейс режим и нода для эфективного использования этой текстуры.
Есть еще одна мелочь, которая может повысить скорость обработки схемы, это отключение альфа блендинга в ноде бленд, в том
случае, когда мягких смешиваний не подразумеваете.
Обязательно подписывать для себя ноды, когда схема разрослась, без правильных имен я путался очень быстро.
-  Создание паттерна в photoshop
С паттернами у меня был не большой эксперимент, я фотографировал футболку в макро режиме. Нужный мне паттерн пытался
повторить 2 способами. В первом требовалось обрисовать мельчайшую часть патерна и раскопировать его. Во втором, вырезать с
фотографии и повторить на требуемое разрешение, замазывая инструментом Clone stamp, все несоответствия. Лучший метод оказался
обрисовать по фотографии мельчайшую часть паттерна и повторить ее через функцию слоя Pattern overlay.


Исходные фотографии высокого качества.
Разнообразность паттерна зависит от масштаба повторяемой части, чем она больше тем больше разбиений и неоднородностей
можно добавить в паттерн. Например, если брать елемент 64 х 64, то максимум, что можно уместить в такое масштаб это мельчайшую
часть без перепада тонов и каких либо отличий элементов. Но после того как я повторил паттерн на новом слое через эффект слоя
Pattern overlay, предварительно обозначив во вкладке Edit Define pattern, что эта картинка фаил патерн и применил к файлу размером в
128 пикс , то тут я мог добавить больше разнообразия, некоторые элементы сделать ярче или темнее. Так же добавлю, что и в этом
случае мельчайший элемент я начинаю обрисовывать в 16 бит режиме, это дает запас качества, тем более при фотографировании в
raw формат я получаю изначально 16 бит качество.

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

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

dert.jpg
Работа цветного кавити.
detal_color_02.jpg
Слои кавити с возможностью изменять их цвет.
По итогу у меня получилась рабочая схема которая способна пересобирать по id mask тукстуры которые не сильно отличаются по
материалам и типам, но изза объема операций и разрешения всех текстур схема вышла грамосткой и на сбор каждой новой текстуры уходит от получаса до часа.
- Замечание
После загрузки рохнес текстуры в Marmoset, нужно не забывать ставить галочку Invert, так как модель работы с этой текстурой
немного отлична от Substance designer.
- Описание настройки кожи и корсета
Тут мне практически нечего написать, так как вся настройка материала производилась в аллегорике, а мармосет отображал
материалы абсолютно такими какими они были в алегорике, разве что мне потребовалось инвертнуть рохнес текстуру и зеленый канал в
нормал мапе. Самое оно настраивать рохнес или спекуляр на женских грудях, там они выглядят всегда особенно интересно
-  Текстуры
Результат работы блок схемы можно увидеть на текстуре ниже. Можно заметить, как цветной оклюжин дает не однородности цвета
на кожаных прожилках и как четко читается паттерн ткани на нормал мапе.
normalmap.jpg

Текстура изготовленная выше описанной блок схемой.
-  Ригинг в модо и покраска вэйдж мап в мая
Скининг персонажа я выполнял частично в модо частично в мая, назначение костей и привязку к телу выполнил в modo. Для изготовления костей требуется инструмент Skeleton во вкладке Setup, для соединения костей с телом понадобится выделить слой с объектом и сами кости после чего, функция Blend с настройкой Smooth visible привяжет кости к объекту с приблизительной вейдж мапой. Всю это процедуру следует выполнять предварительно включив режим Setup над вьюпортом, в следствии чего вьюпорт получит желтую рамку.
Все остальные манипуляции и выставление в позу я выполнил в maya, после чего требовалось нарисовать и подправить веса на теле.
В maya имеется функция бруш, которой я исправлял все потянутости на модели.
И так как плотность сетки не позволяла работать комфортно, я изготовил упрощенную модель лоуполи, если быть точным, то
использовал только упрощенное голое боди без деталей и всей одежды. В таком случае требовалось привязать кости к новой модели.
Для этого в maya требуется зайти во вкладку Rigging в меню Skin, выбрать Bind skin, предварительно выделив кости и тело, и в открывшемся меню выбрать Geodesic voxel, напротив строчки Bind method. Суть всей операции состоит в том, что бы скопировать Skin Weights с упрощенной модели на мою финальную лоуполи. Что заметно ускорит процесс рисования весов.

Покраска весов в maya финальной модели и упрощенная топология для получения весов.

Что бы скопировать Skin Weights map, требуется выбрать сначала финальный объект, затем объект, с которого будет копироваться
Skin Weights и выбрать в меню Skin Copy Skin Weights.
Привязывание скелета к телу и копирование весов с одной модели на другую.

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

    Характеристики
компьютера
intel core i7 2.40/2.40
Ram 16 GB
nvidia geforce gt 650M




Subscribe

Recent Posts from This Journal

  • Victory Roll Girl Tutorial

    . conf файлы Для меня необходимо иметь расшаренные кисти, настройки горячих клавиш, . conf файлы для программ, они все лежат у меня в Dropbox на…

  • Краткий Making of pin up персонажа

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

  • Книги по композиции

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

  • Post a new comment

    Error

    default userpic
    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments