Бинт, средствами 3DS MAX и ZBrush

Всем привет! Меня зовут Матросов Евгений, в данный момент мне 23 или 24 года, честно, не помню, частенько забываю, родился и живу в Днепропетровске, Украина. Работаю в сфере рекламы, люблю все, что связано с творчеством и нестандартным подходам к решению задач. 

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

Примечание: Урок рассчитан, на тех, кто работает в 3D max и для тех, кто только начал заниматься, а также минимально знаком с ZBrush. А кто не знаком, то будем знакомиться…

Первый раунд

Беру «2 рубля», шлепаю в ближайшую аптеку, где приобретаю медицинский бинт, и рулю обратно домой. Беру, какой-нибудь круглый или цилиндрический предмет, который бы напоминал человеческую голову, в моем случае, предметом «издевательств и пыток» стала моя жена :-). Хаотично, перекручивая бинт, наматываем корявую повязку. Далее, беру свой сканер, снимаю крышку, снимаю бинтовую повязку с «головы», и укладываю ее на сканер, далее, сканирую два разных фрагмента этой повязки. Это все, я делаю для изготовления нужных текстурных карт.

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

Вот что получаем:

Открываем 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.

Ну и рендерим, экспериментируем с настройками, и снова рендерим…

Ну, в общем-то, и ВСЕ! Надеюсь, мой урок будет полезным. Спасибо за уделенное внимание, творческих Вам успехов!

С уважением, QBit.

779 0 850 80
13
2010-03-15
Мне понравилось. 5/5
2010-03-15
Очень полезный урок, спасибо)
2010-03-15
занятный урок. 5/5
2010-03-15
Очень интересный и необычный урок! Захотелось сделать подобное, спасибо)
2010-03-16
Урок просто суперрр!!!очень хороший!только я думаю если повязочку опустить будет еще лучше:)
2010-03-16
отличный урок, понравилось
2010-03-16
А привет) я тоже из днепра) приятно видеть людей которые также работают в 3д), может ещё и встретимся кофе попьем, поговорим о бытие[smile=04]
2010-03-17
Очень понравился результат, рад что появился урок на подобную тему :)
2010-03-17
Спасибо автору за потраченное время на урок!
2010-03-17
Очень понравился бинт. 5/5. Удачи.
2010-03-18
Интересно было читать. Осталось отсканить повязку, скачать и поставить браш и попробовать :) 5/5
2010-03-19
урок очень интересный! спасибо, приятно читать =)
2010-03-20
Всем спасибо. Рад, что урок оказался полезным.
RENDER.RU