MAKING OF THE «KRAKENBOARD».
Здравствуйте! Меня зовут Коробейников Анатолий, я ещё новичок в 3д. Мой стаж (если его можно так назвать) — 4 месяца и это мой первый мэйкин оф. Если ты знаток Blender, то боюсь не открою для тебя чего-то нового, но постараюсь хоть как-то заинтересовать, а если ты новичок, надеюсь этот пост будет интересен, а может и полезен.
Как я оказался в 3д
В возрасте 8-13 лет окончил художественную школу. После этого думал, что никогда больше я не вернусь к этому. Закончил университет, 2 технических диплома. Сейчас мне 25 лет, и только поработав инженером, я понял, что это не то, чем я хотел бы заниматься оставшуюся жизнь.
Начал искать себя, прошел курс видеомонтажа в школе Кайно. Там меня заметил основатель школы и предложили подработку в его команде. Работая в школе, имея доступ ко всему контенту, я уверенно освоил Premiere и After Effecs, самостоятельно познакомился с Ps, Au, Lr и начал выполнять заказы по монтажу. Такая работа была мне более по душе, но всё же не мог решиться полностью на неё перейти. Продолжал совмещать два направления — творческое и техническое.
Но тут в школе открылось новое направление — 3д. Я всегда имел желание приобщиться к геймдеву, но почему-то мне казалось это не достижимым, у меня просто не было понимая, что он из себя представляет, поэтому выбирая на кого учиться, пошел более типичным путём.
Попробовал 3д, мне понравилось. Договорился о переводе с монтажа. Стал погружаться, сделал свою вторую работу — сценку в лоуполи (можно увидеть в профиле), стал ещё сильнее увлечен 3д, забыл про монтаж совсем. И вот пройдя базовый курс по Blender, сделал свою третью работу, мэйкинг оф по которой сейчас пишу. 4 месяца в 3д окончательно убедили, что я нашел то, чем точно хотел бы заниматься! Считаю, что художественное 3д - это то тесное переплетение технического и творческого направлений, выбор между которыми я не мог сделать.
Making Of
Перейдем уже к самой посудине. Работа сделана в Blender. Время выполнения — 2 с хвостом месяца. Любой проект начинается с подготовки, но это не тот случай. Я просто начал проходить курс, в котором по чертежам воспроизводится саМУлёт (МУ, потому что пилот – бык). Но я знал, что в конечном итоге у меня будет не тот саМУлёт, а что-то своё, то есть была цель — узнать, что за хайполи, как работать с текстурами и сделать такую работу, которую можно добавить в портфолио. Возможно это не правильный подход и следует сначала научиться на чем-то не сложном, а потом уже стараться над портфолио.
Моделинг
Так как я вообще не имел понятий о топологии, о правилах построения сетки, пришлось сперва повторять за преподавателем модель, которая была на чертежах.
Как правило, моделинг начинается с блокинга, но это опять не тот случай. Тут сразу каждый элемент выполнялся уже до готового к текстурированию вида, поскольку есть чертежи и заранее известен результат. Общая техника самая простая:
1. Создаем примитив (куб, цилиндр, сфера)
2. Подгоняем форму по чертежам
3. Модификатор Subdivision Surface на 1-2 итерации
4. Далее делаем support loops/edges, за счёт которых регулируем уровень скругления. В зависимости от сложности детали это может быть модификатор Bevel с Limit Method на angle/weight.
Некоторые детали после пункта 2 приходилось булить (модификатор Boolean). Затем производилась корректировка сетки к четырехугольникам. В целом вся сетка была из фэйсов, за исключением оснований цилиндров.
Из модификаторов ещё использовался Mirror (как же без него), Array, Solidify если нужно было сделать толщину. Кроме основных инструментов работы с сеткой, был Spin, которым загибались все трубы.
И вот собрав этот самолётик, пришло некое понимание топологии:
как вообще работает сетка,
почему нужны четырехугольники,
как плотность ребер влияет на форму при модификаторе subdivision,
как не создать лишнюю неровность на гладкой поверхности,
в чем состоит и зачем нужна непрерывность,
как сделать отверстие на круглой поверхности, чтобы его край не выглядел как жерло вулкана.
Тогда начал думать как-же превратить это в то, что я бы смог добавить себе в портфолио. В ход пошли ассоциации. Отверстие для двигателя — пасть, сам фюзеляж немного похож на силуэт кита. Поменял форму фюзеляжа с помощью пропорционального редактирования, тут главное верно найти вершины, за которые будешь тянуть и настроить радиус действия чтобы избежать нежелательных деформаций поверхности.
Раз решил делать рыбу из самолёта, то нужно было поменять крылья и хвост, чтобы сошли за плавники. Сделал ещё 2 варианта хвоста.
С крыльями понимания уже было больше, поэтому сразу сделал новые в нужном виде.
Столкнулись две тематики — воздушная и морская, я решил, что они должны быть сбалансированы. Так как объект остался самолётом, а на фоне запланировано небо, это явно смещало баланс композиции в их пользу, поэтому все остальные элементы должны быть переделаны/стилизованы под морскую тему.
Какое первое морское оружие приходит на ум? Мне гарпун. Из головы достать красивый гарпун уже было сложно, начал искать референсы, нашел пару, интересных фото.
Сделал что-то среднее между ними.
Веревки. Ребята - новички со школы спрашивают, как их делать, поэтому тут я чуть подробнее расскажу.
1. Создаем кольцо, его Pivot Point смещаем к краю, кольцо наклоняем на 45 градусов по оси X
2. Радиально размножаем кольца любым удобным способом, я делаю через
shift+D > R > Z > 120, затем выделяю все кольца и объединяю в один меш ctrl+J
3. Накидываем модификатор Screw, делаем смещение по параметру Screw
4. Создаем кривую, любую, с которой удобнее работать будет. На кусок веревки вешаем модификатор Array, задаем Fit Curve в Fit Type, выбираем саму кривую, Constant Offset ставим по оси Z (если оси не перепутаны) на ранее заданное значение Screw.
5. Последний модификатор Curve, выбираем саму кривую и ось Z
6. Работая с кривой, веревка сама будет принимать нужную длину и форму. Если нужно переместить веревку, не забываем, что кривую нужно таскать за ней, тогда их лучше объединить через родительскую связь (выделяем > ctrl+P > Object)
Чтобы сделать ровную катушку, я сделал спираль, конвертировал её в кривую, и, по инструкции выше, пустил по ней веревку.
Следующим элементом под замену оказался бидон, вместо него поставил баллон, добавил ему стойку-хвост, по образу ракеты РДС-4. Ну и конечно же вентиль с рукояткой от «лысого из Valve».
Далее двигатель. Концепт оставил тот же, но добавил деталей, сделал фаски, чтобы более приятно выглядел.
Винты поменял, референсы искал такие, чтобы концы были загнуты как на крыльях, хвосте и трубах, гнул через пропорциональное редактирование, размножал через Array.
Добавил вентиляционные каналы, чтобы они сошли за жабры.
Вставил зубы, ориентировался на образ зубов безликого из «Унесенные призраками», который отложился в памяти.
В копилку морской тематики докинул задние корабельные винты и якорь, как же самолёт без него. Перфорации в цилиндре делаются очень просто: Edit Mode, выделенные фэйсы > вкладка Select > Checker Deselect.
Чтобы наверняка запутать зрителя, на корабль он смотрит или самолёт, решил сделать намёк на мачту. Как по мне это первое, что приходит на ум, когда пытаешься представить корабль — паруса и множество канатов. С этим конечно повозился долго, стремился выровнять все кривые так, чтобы выглядело физически реалистично.
Делать паруса вертикально вытянутому самолёту было бы избыточным, поэтому просто сделал флаги, для меня, по крайней мере, ощущаются как на мачте. Заодно узнал, что такое симуляция ткани. Ничего замудреного:
— привязал за 2 вершины (пометил на рисунке),
— пресет выбрал Silk, параметры по умолчанию,
— дул ветром (направление на рисунке),
— у ветра менял только параметр силы Strength (в моём случае значение 1000000).
Стеклянные элементы, такие как фары и кабина решил подсмотреть на «подводных референсах» в таком же духе ретро.
Двигатель, трубы, вентиль, шестеренки у задних винтов, всё это добавило нотку стимпанка в композицию. Для того чтобы её подчеркнуть, добавил ремонтный люк с сорванной крышкой, в который, без намека на логику, напихал шестерёнок и труб. Получилось сильно мелко и кучно на фоне всего остального, наверное, одно из главных, что я бы хотел исправить в этой работе, но сроки горели.
Щупальца. Вот мы добрались до изюминки этой посудины. Так как ребята спрашивали, как же я их сделал, распишу подробнее об этом.
Я не планировал их делать, но нужно было заполнить пустоту в середине, над крылом. Жена сказала: «Рисуй там кракена!», зашла её идея, полистал референсы и нашел это.
Первые мысли были: «как же я буду их делать, я ведь ещё ни разу не скульптил, сколько времени на это уйдет». Да и мне очень не хотелось скульптить в этой работе. Во-первых, потому что должны же быть какие-то рамки, без них можно бесконечно возиться над одним проектом, осваивая все возможные приемы. Во-вторых, скульптинг это то, на что у меня особые планы, и подойди к нему мне хотелось супер ответственно и ни как не спеша.
Поэтому решил, что изгибы буду делать с помощью кривой, благо это отточил на канатах, а фактуру с помощью дисплейсмента.
1. Делаем такое звено
2. Добавляем Subdivision на 4 итерации + Array
3. Добавляем Array сколько требуется и применяем его, с помощью пропорционального редактирования (лучше всего Smooth) придаем коническую форму. В середине будут вытянутые пупырки, если это не нравится, то можно исправить тем же пропорциональным редактированием.
4. Добавляем все вершины, кроме пупырок, в Vertex Group
5. Накидываем модификатор Displace, создаем текстуру, редактируем все параметры до нужного результата
6. Создаем кривую, добавляем модификатор Curve на щупальце, по аналогии с канатом, гнем и радуемся)
Справедливости ради, в своей работе я применял несколько Displace на щупальце по разным группам вершин, а также дополнительно работал над общей формой, задавал хаотичность пупыркам, всё для большей реалистичности.
Живность. Изначальный саМУлёт был сюжетным, он летел спасать Светлану Леопольдовну - корову, которую похитило НЛО. И я не стал это игнорировать, добавил минималистичный экипаж для этой посудины, который возможно и не к месту в композиции, но позволил мне отработать базу по работе с частицами, с волосами.
Моделировались они очень просто: примитив — первичный сабдивижн — создание формы сетки — сабдивижн — коррекция с пропорциональным редактированием.
Методом тыка познал какие параметры за что отвечают, ключевые для кучерявости бороды использовал эти (числовые значения будут у всех разные). Брови просто прямые, расчёсаны блендеровской расчёской.
У бычка применял 3 набора частиц (основной покров, лапы, челка), которые отличаются только длиной. Использовал Clump и Shape, которые видно на скрине выше, для слипания прядей. Укладка физикой, через Hair Dynamics, пробовал все параметры, но в итоге изменил только Stiffness.
Что-то ещё очень напрашивалось в композицию, то что объединяло бы тему неба и моря. Это оказались чайки. За анатомией, и тем более реализмом, не то чтобы не гнался, а даже хотел сделать их лоуполи, но немного увлекся.
Мой PureRef к концу моделирования:
Текстурирование
Это моё первое текстурирование, до этого использовал только простейшие гладкие материалы. Поэтому текстурирование в данной работе тоже относительно простое — уровня новичок. Преимущественно использовались готовые текстуры и карты, но ни одной в первозданном виде, все они смешивались и корректировались уровнями и цветом. Процедурных материалов использовал тоже не мало, ну и совсем немного порисовал мышкой. UV развертка делалась далеко не везде, только там, где без неё не обойтись.
Основная краска самолёта (синяя) — самый жирный материал в этой работе, разберем методологию на его примере.
Создавалось по «слоям»:
1. Сначала простой процедурный металл с Noise Texture
2. Далее ржавчина, тут стоит сказать, что её более чем достаточно было сделать через шум, как и металл. Но я как ребенок, который выучил новое слово, не мог удержаться и совал 4к текстуры куда только мог. Так делать не нужно, особенно если слабый ПК, это здорово увеличивает объем данных, и работа значительно замедляется.
3. Сам слой краски, тут использовался микс из разных карт Normal, Bump и Roughness, чтобы придать ей усталость, потертость.
Также тут есть пластины с болтами, их мне пришлось затем запекать в виде карт АО и Normal. (отдельное спасибо Павлу Голубеву за то, что показал как)
4. Слой зеленого ила, который можно наблюдать на подводной части кораблей и субмарин (сори за жестокий тайл). Сделал из текстурных карт ржавчины, изменив hue у Diffuse.
5. Слой с подтеками. Их рисовал самой обычной кистью, прямо на фюзеляже мышью. Для этого потребовалось сделать простейшую UV, с помощью функции SmartUVProject. Их же бампнул для объема.
Через две простые маски из шума, с разным радиусом пятен, подключаем первые три слоя. Четвертый слой через маску Ambient Occlusion. Пятый слой через альфа-канал нарисованной текстуры. Получаем (месиво, на котором ничего не понятно)стертые участки краски и царапины, в которых виден металл и ржавчина, зеленый ил в укромных уголках и подтеки черной субстанции.
По такому принципу собирались почти все остальные материалы, только «слоев» в них меньше.
Канаты, трубы, шланги, прочая цилиндрическая фактурная мелочь потребовали сделать им UV.
Щупальца принципиально не хотел красить руками, так как получилось создать их без скульпта (мои загоны). Взял текстуры от бархатной ткани за основу, намешал им цвет, отрегулировал уровни, добавил пятна через Musgrave, попытался высветлить пупырки через Tanget. Самое главное тут Subsurface, он придаёт эффект прозрачности. В целом считаю щупальца получились весьма посредственно, пока ощутимо не хватает знания нодов.
Также в этой работе осваивал процедурные облака, пробовал несколько вариаций нодов, из разных уроков, как с курса, так и с ютуба. В итоге остановился на таком, результат ниже.
Но с этими облаками в сайклс рендер одной картинки длился ~10 часов. И так как рендеров было много, а ререндеров ещё больше, то я отказался от процедурных облаков, в итоге использовал png.
Композитинг и рендер
В качестве света использовал HDRI и дополнительные источники света, стандартные в Blender (Point, Sun, Spot), настраивал на глаз. Фон – примитив Plane с текстурой.
На главном рендере ставил задачей передать пасмурное настроение, отсюда выбирал тона и гамму. Сами цвета преимущественно близкие между собой, но чувствовал, что нужно что-то контрастирующее, но не выбивающееся из холодных тонов, чтобы как вишенка на торте, поэтому щупальца сделал пурпурными, а рукоять вентиля боровую.
Облаками внизу пытался создать некую напряженность, думаю их надо было сделать погуще. Фары с конусами света подчеркивают эту напряженность. Свет на пропеллере и белый контровой на лбу самолёта, должны были создавать эффект, что самолёт пытается прорваться сквозь облака к свету. Зеленый свет справа внизу нужен как источник нижнего контрового, а зеленый потому что он вносит мистическую нотку в композицию, да и заезженные оранжево-розовые закаты уже поднадоели всем.
Направление движения самолёта слева направо – как верное направление, и снизу-вверх, характеризующее стремление. Сам ракурс самолёта образует треугольник или стрелку, оттяжки мачты подчёркивают этот треугольник. Гарпуны, пропеллеры, вентиль тоже указывают направление. Широко раскрытая пасть словно жадно глотает воздух, к которому стремится.
Задачей остальных рендеров было показать, что намоделенно с других ракурсов. Но тем не менее над композицией каждого из них я старался и производительность была лишь по рендеру за день.
На следующих 2х рендерах применил прием симметрии, грех было его тут не применить. Поэтому облака расположены так, чтобы подчеркнуть симметрию и повторить контур самолёта.
Вид снизу в холодных ночных тонах, поскольку форма облаков и строго горизонтальное направление вызвали ассоциацию с морским умеренным течением, будто самолёт тихонько плывет по воде, ночью ¯\_(ツ)_/¯.
Вид спереди показывал много позолоченных деталей, которые нужно было подчеркнуть соответствующим светом, поэтому hdri подобрал под «золотой час».
На рендере ниже воспроизвел композицию, образ которой сохранился давно в памяти, а откуда он уже и не знаю. Здесь упор делал на параллельность линий. Чистый фон и расфокус гарпунов на заднем плане подчеркивают крупность плана.
Этот крупный план очень понравился мне композиционно, вполне подходит для какой-нибудь обложки, где нужно разместить текст. Акцент сделал на параллельность линий краям и разместил всё в одной половине. Для того чтобы вторая половина не казалось лишней, подобрал соответствующее небо, птицы оказались кстати. Настроил глубину резкости камере, чтобы снизить пестроту левой половины и акцентировать внимание на правой.
Все рендеры, как упомянуто выше, на движке Cycles. Шумодав использовал только на главном рендере, так как без него потребовалось бы много семплов, а сцена и так была перегружена текстурами и не хотела рендериться. В остальных сценах число семплов ставил от 500 до 1000, в зависимости от сложности сцены, поскольку нравится легкая зернистость, которая остается, если не использовать шумодав. На сценах, где контрастное небо, использовал Glare в Compositor, настроенный на FogGlow. Заметил, что это существенно усиливает объем неба, за счёт того, что придает свечение хайлайтам. В ColorManagementв Look ставил MediumHighContrastпочти на все сцены.
Постобработка была только на некоторых рендерах – в Photoshop замазывал локально шумы и прятал тайл облаков, всё.
Наконец мой рассказ подошел к концу, очень надеюсь, что он никого не утомил, и хоть кому-нибудь был интересен. Это была моя первая серьезная работа, на ней освоил всё изложенное выше, и принял решение – сделать 3д ремеслом своей жизни. Рад, что впереди ещё много предстоит узнать и освоить – век живи, век учись!
Очень воодушевила высокая оценка моей работы, публикация в журнале и предложение написать эту статью! Поэтому хочу выразить всем благодарность за такую поддержку, поблагодарить редакцию журнала! И отдельное спасибо моему наставнику, который делает лучшие курсы по Blender – Павлу Голубеву!
Желаю каждому найти своё место в жизни, и чтобы каждый ваш шаг был на минимум ступеньку выше!