Статьи: Эксклюзив

Making Of "Збраш робот"

Всем привет!

Всем привет! Меня зовут Подвысоцкий Александр (SharG),  работаю 3Dмоделлером в Днепропетровске.

В этом Making-Of я расскажу о том как создавался робот для конкурса "Скульптинг на скорость №59".

Всё написанное ниже является исключительно моим видением вопроса, я ни в коем случае не претендую на роль «всезнающего HSS-скульптора», поэтому если у кого-то есть какие нибудь замечания/уточнения по теме – милости прошу в комментарии,  а я просто расскажу о том, как придумывался и создавался конкретно этот персонаж. Также заранее приношу свои извинения за погрешности в терминологии и стиль изложения.

Идея

Я уже давно собирался сделать персонажа с использованием HSS в Zbrush и даже пару раз начинал, но ничего толкового не получалось – быстро перегорал и никак не мог довести работу до конца. Поэтому, когда на почту пришла рассылка с темой очередного "Скульптинг на скорость" я решил поучаствовать, надеясь, что временные рамки конкурса помогут мне не перегореть посередине процесса и наконец-то сделать задуманного персонажа.

Концепт

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

Работа с DynaMesh выглядит следующим образом:

  1. Берём любую болванку и преобразовываем её в DynaMesh (в свитке Geometry есть большая кнопка DynaMesh (1. на рисунке DynaMeshQuickSketch));
  2. Сначала работаем с небольшим разрешением сетки (разрешение выставляется под кнопкой DynaMesh (2. на рисунке DynaMeshQuickSketch) и зависит от размера редактируемого объекта – чем больше объект, тем плотнее будет сетка);
  3. Постепенно из этого DynaMesh'а вылепливаем форму модели. Каждый раз, когда сетки не хватает, пересчитываем её. Для пересчёта сетки достаточно протянуть с зажатым Ctrl по свободной от модели области экрана. Если при этом мы хотим максимально сохранить детали модели нужно включить  Project (3. на рисунке DynaMeshQuickSketch), если нам нужно сохранить ещё и полигруппы - включаем Group (4. на рисунке DynaMeshQuickSketch);
  4. Затем разделяем наш скетч на составные части (разделяем модель на полигруппы, используя SliceCurve (13. на рисунке DynaMeshQuickSketch), а затем в свитке SubTool преобразуем все полигруппы в отдельные сабтулы – кнопка Groups Split (6. на рисунке DynaMeshQuickSketch)).
  5. Всё, что получилось несимметричным, делаем таковым с помощью Mirror And Weld (7. на рисунке DynaMeshQuickSketch), находится снизу в свитке Geometry.

На этапе скетча я пользовался кистями Move, ClayBuilup, hPolish, ClipCurve и Smooth (10, 11, 12, 13 и 14. на рисунке DynaMeshQuickSketch соответственно). Также мною были использованы Insert Brush (8 и 9. на рисунке DynaMeshQuickSketch), чтобы добавить цилиндры и сферы и TransPoseTools (15. на рисунке DynaMeshQuickSketch), чтобы перемещать поворачивать и масштабировать отдельные части модели.

DynaMeshQuickSketch

Видео первого этапа работы


Используя DynaMesh, я слепил скетч. Когда лепил, старался сделать персонажа динамичным и имеющим нестандартный запоминающийся силуэт.
Внешний вид этого робота собран из всего увиденного мною за последние годы в КГ - Трансформеры, роботы четвёртого доминанса, весь HSS выложенный на Zbrushcentral'е и т.д. Всё это я попытался соединить со своими наработками за последние несколько лет.
Ну и ещё я всегда стараюсь делать персонажа с правильной осанкой даже на начальной стадии, другими словами, стараюсь соблюдать все изгибы (ноги, позвоночник, шея), чтобы персонаж стоял естественно, без ненужных напряжений и не казался закрепощённым.

Когда болванка-скетч была готова, стало ясно, что делать её до конца я не буду. По-хорошему болванка доделывается до состояния, когда отличие между ней и готовой моделью только в степени обработки, но это очень долго и почти то же самое, что сделать персонажа дважды %), результат конечно будет лучше, но тут был «Скульптинг на скорость»...  В общем, я решил, что буду собирать готового робота прямо из текущего состояния Dynamesh-скетча.

Скульптинг основных частей.


Оснавная часть работы над персонажем  делалась следующим образом:

Быстрый HSS

Маской (зажатый Ctrl) рисуем силуэт будущей детали:


    Затем создаём из маски отдельный сабтул (в свитке Geometry  выставляем толщину Thick, нажимаем Extract и Accept):

При необходимости применяем GroupsLoops (свиток Geometry), это сгладит углы и поможет убрать некоторые косяки, если они возникнут:

С помощью ClipCurve отрезаем ненужные сглаженные углы, уточняем форму:

Завершаем работу с деталью, делая фаски по краю. Для фасок я использую сочетание кистей TrimDynamic и hPolish:

Для более наглядной демонстрации рассказанного прилагаю видео:


На круглых деталях делать фаску с помощью TrimDynamic и hPolish немного сложнее, поэтому для круглых фасок я пользовался альфами и кисточкой Standart.
Я брал стандартную альфу "Alpha12" и с помощью DragRect или DragDot размещаем её на круглой детали:

Видео для наглядной демонстрации процесса:

 

Альтернативный способ HSS
Описанного выше способа вполне достаточно, чтобы сделать почти любой HSS. Но я бы хотел рассказать ещё об одном способе HSS-скульптинга, который основывается наретопологии и такой возможности ZBrush как Crease.

Для начала делаем ретопологию будущей детали (добавляем Zsphere как отдельный сабтул, в свитке Topology нажимаем на кнопку Edit Topology и рисуем новую топологию):

Преобразуем эту топологию в сетку, предварительно задав ей толщину. Толщина задаётся в свитке Topology -> параметр Skin Thikness, а чтобы посмотреть результат, нужно нажать 'A' на клавиатуре, либо кнопку Preview в свитке Adaptive Skin. При этом нужно выставить параметр Density равным 1, иначе ZBrush изначально будет делать один лишний SubDiv для нашей ретопологии. Когда выбранная толщина нас устроит, создаём из полученной сетки отдельный сабтул - нажимаем Make Adaptive Skin в свитке Topology.

Дальше нужно применить Crease к тем рёбрам, которые должны быть видны при сглаживании сетки. На видео этот процесс виден нагляднее поэтому см. видео:

Ну и в конце добавляем нашей сетке пару сабдивов (Geometry->Divide ), получаем следующий результат:


Видео процесса

Такой способ HSS даёт более качественные результаты, но и отнимает больше времени, поэтому в описываемой работе я пользовался первым способом.

Радиальная симметрия.

Кроме пластин, в роботе много цилиндрических деталей. Такие детали очень просто делать, используя радиальную симметрию. Чтобы использовать этот инструмент, нужно в меню Transform нажать ActivateSymmetry (или просто 'X' на клавиатуре), затем выбрать ось симметрии, нажать кнопку (R) и выставить количество экземпляров (RadialCount). 
Для того, чтобы до конца объяснить, как это работает, вот видео:

Примеры использования мной радиальной симметрии в описываемой работе:

Если включить радиальную симметрию по всем осям, то можно создавать сферические детали :), таким образом были слеплены "мячи" на плечах робота.

DecimationMaster

После использования радиальной симметрии почти все сделанные с её помощью детали я оптимизировал с Decimation Master. Если этого не делать, браш начинает тормозить из за большого количества полигонов. В меню ZPlugs в свитке Decimation Master сначала нужно нажать Pre-process Current, затем выставить нужное количество треугольников и нажать Decimate Current.

Сабтулы

Если пользоваться любым из описанных мною способов для создания HSS моделей, то накапливается большое количество сабтулов, в этой работе доходило до 150-ти штук, поэтому на протяжении всего процесса я старался использовать Dynamesh невысокого разрешения с сабдивами или сабтулы, предварительно оптимизированные при помощи Decimation Master.

Используя всё, о чём писал ранее, я сделал из Dynamesh-скетча робота без мелких деталей - стыков, болтов и т.д.

Вот Хронометраж работы (правда, 13-е число куда-то пропало):

 
 
 
   
Окончательная детализация
Теперь нужно было сделать более подробную детализацию.
Для отверстий, болтов и заклёпок использовалась кисточка Standart и стандартные альфы. Для создания стыков использовалась кисточка Slash3.

Кроме кисточки Slash3, для стыков, таких, как тот, что обозначен жёлтым на рисунке выше, я использовал следующий метод:
Разделяем модель, на которой будем делать стыки, на полигруппы с помощью SliceCurve:

Затем преобразуем в Dynamesh с обязательно включёнными Project и Group. Значение Blur должно быть равно 0. Получаем действительно разделённую на части деталь, стыки обрабатываем Smooth'ом:

К сожалению, если стык имеет более сложную форму, чем прямая, сделать его так легко не получится - будут проблемы с сеткой (см. видео)
Прийдётся для начала разделить деталь на несколько независимых полигрупп, каждый раз при разделении пересчитывая Dynamesh:



После этого с помощью GroupVisible в свитке Polygroups перегруппировать сетку как показано на рисунке ниже:


Потом снова пересчитать Dynamesh. А незначительные неровности  сгладить используя Smooth:

                                                                            Чтобы расставить всё по своим местам - видео:

Кроме мелкой детализации, нужно было заполнить все пустые места на руках и ногах мышцами. Мышцы делались точно так же, как все остальные детали: Mask -> Extract -> GroupLoops.

Ну вот как-то так, используя всё описанное выше, я сделал полностью готовую для конкурса модель робота.
Когда доделал, стало ясно, что у меня есть ещё один день в запасе (просчитался я %)). Чтобы не тратить этот день зря – я решил сделать роботу оружие, это позволило мне избавиться от симметрии и добавить запоминаемости силуэту. Когда я делал пушку, использовал всё то, о чём писал выше.

Поза

Когда конкурсная часть была полностью готова, у меня остался ещё один день на то, чтобы поставить персонажа в позу.
Перед тем, как это сделать, я оптимизировал робота с помощью всё того же DecimationMaster, правда оптимизация была выборочной, нетяжёлые детали я не трогал. До оптимизации работа весила 50 млн. полигонов а после - 7,5 млн.
После оптимизации я пообъединял сабтулы по принципу: кисть, предплечье,плече, голова,туловище и т.д.
После этого с помощью TransposeTools выставил позу для робота. Позу выбрал не сложную, так как с TransposeTools не очень люблю работать, постарался добиться, чтобы робот просто естественно стоял.
 
Рендер
Сразу предупрежу, что слишком подробно процесс рендера описать не смогу - я уже не помню всего, что настраивал, поэтому расписываю в общих чертах, и самое главное - этот рендер делался в целях изучения BPR.

Всего для этой работы я делал два рендера - один с простыми источниками света средствами BPR, а второй с Lightcap под композ в фотошопе средствами BPR.

Первый способ:
Для освещения использовались три источника света. В ZBrush под трёхточечную модель есть заготовка - первые три лампочки = трёхточечная модель, правда, положение источников света и их интенсивность всё равно пришлось настраивать.
Рисующий источник - интенсивность 1 и выключил амбиент.
Рефлектирующий - сделал его холодным.
Контирующий - поднял интенсивность до 0.5
В качестве материала я использовал Metal01.
В настройках рендера включил тени и АО, задал им параметры, которые вы найдёте на картинке ниже.

Всё это для серьёзного рендера естественно не подойдёт, но чтобы по-быстрому подать модель вполне годится.
В фотошопе я поверх отрендеренного положил буфер глубины (Depth в BPR RenderPass). Накладывается он через Multiply.
Второй способ:
Этот рендер я использовал для галереи, он немного сложнее первого, но опять же - это быстрый компромиссный вариант рендера. Если хотите качественно рендерить и при этом не сойти сума, подстраивая шейдера и прочее в браше, делайте Decimate моделям и рендерьте их в 3DsMax.

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

Такой LightCap делается очень просто:
В меню Light находите Background и в поле-кнопку Texture загружаете ваш HDRI.
Затем выставляете количество сэмплов для LightCap (от этого зависит количество созданных лайткапом источников света) и нажимаете LightCap.
В конце правите интенсивность для каждого источника света (я уменьшал до 0,3 для всех).

Вот и всё. Дальше был рендер большого количества нужных и не очень пассов.

Так как изначально я не решил какого цвета будет робот и сколько мне понадобится слоёв, я сделал  по максимуму пассов (BPR тем и хорош, что если менять только цвет или материал, он использует старый просчёт освещения и всё это происходит очень быстро).
Пассы для основного и дополнительного слоя краски:
 
 
Пасс для неметаллических частей:
Пассы для дополнительных металлических частей и царапин:
Тени,глубина и маска: 
 
   
Когда все пассы были отрендерены, я скомпозил их в фотошопе - глубина, АО и тени через Multiply, остальное - через layer Mask.

Выглядело это всё так:
Поверх всего я добавил немного гранжевых текстур.

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

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

Огромное спасибо администрации Render.ru за приглашение написать 
Making-Of.
И спасибо всем, кто так или иначе содействовал его написанию.
И отдельное огроменное спасибо всем, кто смог дочитать аж до этой строки.

П.С.
По плану 
Making-Of'а, присланного мне администрацией - пара советов:
  1.     Рекомендую использовать второй алгоритм сглаживания в ZBrush - он даёт лучшие результаты и корректно сглаживает "звёзды". Работает следующим образом: зажимаете Shift и начинаете сглаживать, отпускаете Shift, но сглаживать продолжаете.
  2.     Всегда включайте в меню Brush -> AutoMasking пункт BackfaceMask - это позволяет нормально работать с тонкими объектами - с включенным BackfaceMask кисть не влияет на заднюю сторону объекта.
  3.     Если рисуете длинную линию, пользуйтесь LazyMouse - включается в меню Stroke.
  4.     Очень полезна кнопка '1', она повторяет последнее действие

Всем спасибо за внимание.

60972 Автор:
Актуальность: 841
Качество: 840
Суммарный балл: 1681
Выбор Публики
Голосов: 211 оценки

Отзывы посетителей:

2 3 | След.
аватар
 
Nikita Horosh 1 0

MacingOf просто отличный, буду использовать как урок для повышения навыков в дополнение к HST Eat 3D. Спасибо автору!

аватар
 
Сен-сей 1 0
Благодарен )
аватар
 
Александр Терсков 17 0
Супер!
аватар
 
Максим Бессарабов 179 0
ну так круто
но всеровно ненравяться роботы из браша какието не чоткие) или это так рисуют ну типа пластелиновые
аватар
 
s_one 2 0
Огромное спасибо - лучший материал по зб который находил в свободном доступе. Качество исполнения, а так же скорость - великолепны. Плюс огромное подспорье идут уникальные (в других уроках не встречал) приёмы которые только ускоряют скульптинг.
аватар
 
Frienddesign 2 0
Сразу захотелось открыть Zbrush и сделать что то новое =). Спасибо!
аватар
 
M.R.K.(MindThrow... 380 0
Модератор форума
Отличнейший Making of.
аватар
 
Ru Person 29 0
Крутбл!
аватар
 
DartGarry 216 0
здорово!
аватар
 
Артём Дунаевский 15 0
Очень впечатлило и вдохновило.
Красиво,стильно,интересно. Браво и на бис!)
аватар
 
Maxim S 2 0
Спасибо большое за урок.
аватар
 
Golubev 2 0
Спасибо огромное. Смотрел обе части Eat3d - Zbrush hard surface techniques, там эти техники очень бегло показаны, благодаря вам разобрался во всем.
аватар
 
Uraken 2 0
класс. особенно понравились нормальное количество банок с пивом )
аватар
 
(R)om@n 42 0
Отличная работа! Отличный урок!
спасибо за труд
аватар
 
tim3d 88 0
5 c +
аватар
 
Илья Сухой 226 0
Отличный тутор, потрясающая модель. Радуют подробные описания процессов, а не просто скрины этапов.
аватар
 
Фубл 5 0
Большое спасибо, очень полезный мэйкоф.
аватар
 
данияр кдыров 24 0
Очень круто!! Спасибо. Сразу отметил вашу работу.
аватар
 
Shiva 204 0
Мегаполезно и Очень интерено. Огромное спасибо.
Робот просто супер.
аватар
 
SharG 20 0
Весм ещё раз спасибо, нашлась - ошибка -опечатка
Цитирую: Затем создаём из маски отдельный сабтул (в свитке Geometry(SubTool свиток на самом деле:() выставляем толщину Thick, нажимаем Extract и Accept):

Нубастик, в теории можно - делаешь развёртку UV Masteron и с помощью Spotlighta красишь.
2 3 | След.
Зарегистрируйтесь, чтобы добавить комментарий.
Эту страницу просмотрели: 627 уникальных посетителей