Всем привет!
Недавно я столкнулся с интересной задачей, которая, вскоре, обратилась в
большую проблему. Работал я над очередной идеей, в которой мне нужно
было средствами 3Д софта создать повязку из медицинского бинта.
Проблема заключалась в том, что эта повязка расположена на переднем
плане, что требовало от нее качественной и детальной обработки. Повязка
намотана несколькими слоями, в хаотичном (перекрученном) порядке,
имеет утолщения, что требует геометрической проработки, и по краям
бинта, всегда торчат нитки. Вот, решение именно этой задачи (на примере
этой же работы) подтолкнуло меня написать данный урок. Есть несколько
теоретических вариантов решения задачи, но практически я использовал
только один – о котором я и буду говорить.
Примечание: Урок рассчитан, на тех, кто работает в 3D max и для тех, кто только начал заниматься, а также минимально знаком с ZBrush. А кто не знаком, то будем знакомиться…
Первый раунд.
Беру «2 рубля», шлепаю в ближайшую аптеку, где приобретаю медицинский бинт, и рулю обратно домой. Беру, какой-нибудь круглый или цилиндрический предмет, который бы напоминал человеческую голову, в моем случае, предметом «издевательств и пыток» стала моя жена J. Хаотично, перекручивая бинт, наматываем корявую повязку. Далее, беру свой сканер, снимаю крышку, снимаю бинтовую повязку с «головы», и укладываю ее на сканер, далее, сканирую два разных фрагмента этой повязки. Это все, я делаю для изготовления нужных текстурных карт.
Примечание: Крышку сканера я снимаю специально, если она не снимается, ломать не надо, просто не закрывайте ее. Так как, при отсутствии крышки, после сканирования, все пустоты бинтовой сетки будут черными, а это нам и нужно.
Вот что получаем:
Открываем 3D max, и создаем Plane, конвертируем ее в Edit poly и обматываем ее вокруг головы примерно так:
Примечание: Плоскость я делаю в два раза больше, с учетом того, что из бинта выступают нитки, они нам тоже нужны.
Открываем редактор материалов, выбираем пустой слот, и в Diffuse вставляем процедурную карту Checker и в tiling выставляем 10, (можно и больше) и применяем к нашей будущей повязке. Далее, применяю модификатор UVW Map, в нем выбираю Cilindrical и ровняю его таким образом, чтобы он повторял форму нашей повязки.
Примечание: Зеленая линия на контейнере цилиндра обозначает место, где «разрезается» развертка текстуры, контейнер лучше повернуть так, чтобы зеленая линия была позади повязки. Черно-белые квадраты помогают нам определить, правильно ли мы создаем нашу развертку.
К повязке применяем модификатор Unwrap UVW, в свитке parameters нажимаем кнопку Edit... Появляется окно с разверткой нашей повязки, с помощью кнопок масштаба и передвижения, редактируем нашу развертку, как показано на картинке, т.е. масштабируем в пределах поля, ограниченное синим контуром. После, делаем скриншот развертки и копируем его в Photoshop.
Открываем Photoshop, создаем новый документ и в него вставляем наш скриншот. Также, добавляем, ранее отсканированный материал. И сейчас займемся тем, что будем делать текстуру для повязки. Вырезаем, рисуем, вытираем, в общем – делаем все, чтобы получилась текстура бинта.
Так, текстура для слота Diffuse готова. Далее, нам понадобится еще две текстурные карты:
1. Карта Bump для выдавливания ниток бинта
2. Карта Opacity, с помощью этой карты, все просветы между нитками мы сделаем полностью прозрачными.
Примечание: вот для этого нам и нужно было снять крышку сканера. Черный цвет делает объект полностью прозрачным, белый цвет – полностью непрозрачным, чисто серый – прозрачность на 50%.
Примечание: Карта Bump формирует неровности, черный цвет определяет впадины, белый выпуклости
Карта Opacity. Берем нашу текстуру бинта, переводим в оттенки серого. С помощью Brightness/Contrast или Level максимально убираем серые оттенки.
Карта Bump. Текстура бинта в оттенках серого, для улучшения результата, можно поиграться с контрастностью.
Второй раунд.
Теперь будем работать с Zbrush 3.1.
В детстве с пластилином играли? Вот и сейчас будем, только виртуально -
лепить складки нашей повязки. Отличная программулина, низкий поклон ее
разработчикам! Кто не работал в ней, советую попробовать.
Итак, заходим в 3D max, берем нашу голову модели, повязку и экспортируем их, File - Export – формат obj. Экспортировать нужно каждый объект отдельно. Ах, да, еще, при экспорте выскочит окно, в котором во вкладке Geometry нужно выбрать polygons, чтобы наши полики были четырехугольные.
Открываем Zbrush и импортируем нашу голову и повязку.
Во вкладке SubTool выбираем повязку и опускаемся ниже, до вкладки Geometry, в которой, нажатием на кнопку Divide, мы повышаем плотность сетки до 6 единиц. С помощью кнопок lower Res и Highe Res мы можем опускаться и подниматься по уровню плотности сетки, т.е. от 6 до 1 и наоборот.
Возникает у нас маленькая проблема! Как нам сделать так, чтобы все
рисуемые нами складки полностью совпали со складками на текстуре.
Просто, вверху, в меню мы выбираем Texture и импортируем нашу Diffuse
текстуру. Она сразу накладывается на нашу повязку, может, получится,
что текстура ляжет не правильно, чтобы это исправить, в панели меню Texture, нужно отзеркалить ее по вертикали или горизонтали, что я и сделал.
Теперь откроем вкладку Texture (не путайте «вкладка» и «меню»), если не включена кнопка EnableUV, то включить ее, и нажимаем на кнопку Txr>Col. Теперь мы можем, приблизительно видеть, как расположены складки, и по ним лепить геометрию.
Итак, лепим геометрию. Во вкладке Layers создаю новый слой.
Примечание: Советую, для каждого «основного» фрагмента повязки создавать отдельный слой. Так легче контролировать, и устранять проблемные места. Помимо этого, управлять интенсивностью каждого слоя.
Некоторые комбинации клавиш:
1.В комбинации «Alt + левая кнопка мыши» геометрия выдавливается и наоборот вдавливается.
2.В комбинации «Alt + левая кнопка мыши» на пустом поле – перемещаетесь по рабочей области.
3. Если нажать «Alt + левую кнопку мыши, на пустом поле» и во время
перемещения мышки в сторону отпустить Alt – объект будет приближаться и
отдаляться.
4. Комбинация «Shift + левая кнопка мыши» сглаживает разные «бока» и неровности.
5. Комбинация «Ctrl + левая кнопка мыши» и «Ctrl + Alt + левая
кнопка мыши» маскирует геометрию от воздействия на нее, и снимает
маску. Щелчок, с зажатым Ctrl, инвертирует маску.
Этого пока хватит…
В общем, поехали.
Ну, где-то так, если уделить больше времени, можно сделать еще лучше.
Теперь сделаем карту Displacement, эта карта выполняет туже функцию, что и карта Bump, только с некоторыми отличиями.
Открываем вкладку Geometry, и кнопкой lower Res понижаем плотность сетки до 1. Затем, открываем вкладку Displacement, и в DPRes указываем размер нашей карты, в данном случае 2048 pix., и нажимаем Creat DispMap. Слева, от рабочей области есть панель кистей, текстур, материалов, жмем на области Alpha, и в поле User Alphas находится наша созданная карта. Выбираем ее, и на панели меню открываем вкладку Alpha,
в ней мы зеркально отображаем текстуру по вертикали, если мы это не
сделаем – в максе она ляжет не правильно. Ну, и экспортируем ее. Чуть
не забыл, в панели меню Alpha, смотрим и запоминаем значение Alpha Depth Factor, у меня он 7.5, подробней, о нем, расскажу позже.
Третий раунд.
Вот и добрались до последнего этапа. Открываем Макс, делаем материал для нашей повязки, как показано на рисунке, и применяем.
Примечание: текстуру для Diffuse я немного усложнил для пущего эффекта, кистями добавил кровавые пятна и придал, более поношенный вид.
Далее, применяем модификатор VrayDisplacementMod, и настраиваем его, как показано на рисунке. В Type выбираем 2D mapping, в Textmap ставим нашу Displacement карту. А теперь, немного расскажу о Alpha Depth Factor. В одной литературе, я вычитал, что значение Alpha Depth Factor, (которое у меня равняется 7,5) указывает значение выдавливания карты Displacement, и его нужно указывать в поле Amount, а в Shift половину от Amount со знаком «-».
Amount = 7,5
Shift = -3,75
Но, у меня, это правило, не всегда срабатывало. Если, кто знает, в чем прикол, мне любопытно узнать почему…
Я накрутил:
Amount = 50
Shift = -25
В поле Resolution ставим разрешение нашей карты 2048 pix.
Ну и рендерим, экспериментируем с настройками, и снова рендерим…
Ну, в общем-то, и ВСЕ! Надеюсь, мой урок будет полезным. Спасибо за уделенное внимание, творческих Вам успехов!