Как сделать блендер из бумаги
Привет, меня зовут Сергей Мингулин, я — 3D-художник и преподаватель курса по созданию стилизованных 3D-персонажей в XYZ. Посмотреть на мои проекты можно здесь. Это — первая статья из цикла о визуализации в Blender.
Сегодня поговорим о том, как настраивать материалы, и какие дополнительные программы и расширения облегчат работу. А ближе к финалу я дам небольшой туториал по созданию интересного эффекта свечения на примере иллициев мутанта — выростов на голове для приманивания добычи.
Substance Painter — программа для текстурирования 3D-моделей или создания текстур/текстурных карт для них. По ходу работы мы будем импортировать текстуры отсюда.
Node Wrangler — аддон, который содержит разнообразные инструменты для улучшения и ускорения воркфлоу, основанного на нодах (node-based workflow).
Активируется он следующим образом:
После того как портировали нужную модель в Blender, находим вверху вкладку Editor Type и выбираем Shader Editor. Нас перебрасывает в меню.
Material Editor имеет 2 режима:
Здесь есть две настройки:
Surface (поверхность) — сюда можем подключить обычный background (включен по умолчанию) и поменять его цвет или же добавить HDRI текстуру (удалить нод background и добавить Environment texture через Shift+A ). Я остановился на обычном бэкграунде.
2. Редактирование объектов, с которым мы и будем сегодня работать.
Важно: не забываем активировать Node Wrangler.
Выделяем базовый шейдер и нажимаем Shift+Control+T. Комбинация откроет нам меню выбора файлов. Выделяем нужные нам текстуры и подгружаем.
Если по умолчанию в названии файла текстуры есть приписка с её назначением, прога сама привязывает соответствующие файлы к параметрам.
Редактировать эти приписки (или суффиксы/тэги) можно в меню:
Если значение определилось неверно, изменить привязку можно самостоятельно, соединив мышкой output нода и input шейдера.
Кроме того, текстуру можно так же вручную перетянуть из окна в программу и прилинковать.
Стоит оговориться, что речь пойдёт о модели хайполи с высокой плотностью сетки, которая призвана проиллюстрировать навык дизайнера в рамках портфолио.
В связи с этим, геометрия позволяет нам не использовать отдельную карту под Subsurface scattering, а просто выставить реальное значение рассеивания в соответствующем параметре, исходя из габаритов модели.
Metallic, Transmission и Transmission Roughness мы не используем на теле вообще.
Дальнейший процесс можно разделить условно на 2 этапа: работу над материалами для тела и зубов и настройку иллициев.
Для настройки материала тела мы используем обычный PBR-материал с Metal-Rough workflow или пайплайном. Карты экспортируем из упомянутого в начале статьи Substance Painter.
Наш материал состоит из следующих нодов: Albedo или Base Color, Roughness и Normal Map. Последний используется для мелкой детализации.
Что нужно знать при работе с материалом?
Текстурные карты, которые не передают цвет материала, должны быть в линейном пространстве. Поэтому в Color Space текстур мы ставим:
sRGB — для Albedo
Non color, либо Liner — для Roughness, Normal и т.д. в зависимости от вашей сборки
Эту конструкцию мы затем подключаем к Normal в Principled BSDF. Roughness (чёрно-белая карта, не требует манипуляций с каналами) подключается в соответствующий слот шейдера, так же как и Albedo (Base Color).
Вот так выгладит готовая сборка материала:
В случае с зубами настройки всё те же. Также флипаем при необходимости зелёный канал в нормалке.
Рассмотрим, как распределить свечение по всей длине иллициев, — от наибольшей интенсивности к наименьшей.
нижнего слоя — овалы внутри, дающие основное свечение на концах;
среднего слоя — так же светящиеся трубки;
верхнего слоя — внешняя оболочка иллициев.
В данном уроке Вы узнаете техники с помощью которых можно создавать симуляцию горения бумаги и не только. В уроке используются Dynamic Paint, симуляция дыма, а также настройка материала с помощью нодов.
Финальный результат
Видеоурок
Текстовый урок
Если знакомы с Blender менее года, рекомендуется сначала пройти видеоурок.
Dynamic Paint
Придайте плоскости форму в соответствии с Вашим изображением и подразделите ее около 20 раз (сетка должна быть квадратной, при необходимости добавьте дополнительные ребра):
После этого выполните развертку плоскости и создайте для нее материал:
Перед тем как приступить к созданию изображений с помощью Dynamic Paint создайте у себя три папки: alpha, burn и emission. В каждую из этих папок блендер сложит соответствующие изображения.
- Alpha — изображения отвечающие за прогоревшую часть бумаги
- Burn — изображения отвечающие за потемнение бумаги
- Emission — горящие края бумаги
Выберите плоскость, укажите ее в качестве холста и выставите настройки как на изображении:
Добавьте в сцену UV-сферу и укажите ее в качестве кисти:
Проанимируйте движение сферы, тем самым указав в каких участках должна прогореть бумага. После этого снова выделите плоскость и на вкладке физики в меню Dynamic Paint Output нажмите кнопку Bake Image Sequence:
Теперь у Вас в папке Alpha находится 250 изображений.
Измените папку сохранения изображений на Burn, измените тип кисти и снова запеките изображения. Теперь от сферы будет расходится плавный градиент:
Чтобы заполнить 3-ю папку Emission снова измените настройки кисти, а также совсем немного увеличьте сферу в размерах. Ширина на которую вы ее увеличите и будет шириной горящей части бумаги. Снова запекаете изображения:
Создание материала
Первым делом создадим базовый шейдер смешав шейдеры Diffuse и Transparent (в верхний нод Image Texture загружено первое изображение из папки alpha):
Затем добавим изображения создающие эффект прожженной бумаги (в нижний нод Image Texture загружено первое изображение из папки burn):
Материал горящих краев немного более комплексный, так как сейчас мы будем изменять значения многих нодов с течением анимации (в нод Image Texture загружено первое изображение из папки emission):
Анимируйте с течением времени интенсивность шейдеров Emission, текстуры Voronoi, а также вращайте текстуру Noise. Смотрите результат, добивайтесь желаемого эффекта и не бойтесь значительно изменять значения:
В завершении главы полная связка нодов:
Создание группы вершин для огня
Добавьте в сцену торус и укажите его в качестве новой кисти (сферу можно уже удалить). Используем именно торус из-за того, что нам отчетливо виден центр объекта. Как и со сферой, проанимируйте движение торуса по бумаге, тем самым указав его центром в каких местах должен быть огонь:
Снова выберите плоскость (холст) и измените настройки для нее (теперь мы создаем группу вершин с весами, а не изображения).
Чтобы придать большего реализма, нам необходимо завернуть немного листок бумаги, так как при сгорании он деформируется. Для этого создайте две ключевые формы, для каждой из них исказите плоскость по одной из осей и затем проанимируйте значения ключевых форм на различных участках:
Создание огня
Выберите плоскость и добавьте для нее быстрый эффект дым (Object — Quick Effects — Quick Smoke). Выставите следующие настройки для плоскости на вкладке физики:
Затем выставите параметры для домена и нажмите Bake:
Осталось лишь настроить материал огня. Можете использовать настройку из урока Создание огня с помощью Cycles или же любую другую по вкусу:
На этом все! Делитесь Вашими работами в комментариях!
КДПВ. По мотивам.
Пост написан по мотивам этого комментария . Особенно вдохновила картинка в ответах к этому комментарию. Изначально хотел здесь написать про UI и основы моделлинга в Blender, но выходит многовато (я словообилен). Поэтому, про моделлинг — позже (если публика захочет). А здесь — про UI Blender с точки зрения непрофессионала.
Вступление/предисловие/disclaimer.
Сварщик я ненастоящий и 3D-моделлингом занимаюсь просто для удовольствия и довольно эпизодически (как видно моим результатам в КДПВ). И очень хочу это подчеркнуть. Ни одна моя модель дальше моего компа не уходила и оценку я давал сам себе. Начинал, как и многие, с 3Ds Max Studio Autodesk (до сих пор не в курсе, как же правильно Тридэмакс зовется). Что такое стек операций, как текстурировать, делать полупрозрачный материал и рендерить – я освоил. Как сделать лодку при помощи NURBS – нет.
В общем и целом, я был готов смириться с потерей возможности назначать волосы на шарик взамен на более manageable программу моделлинга. Поизучав рынок, отбросив остальные комбайны типа Maya и LightWave, не восприняв SketchUp, я поставил Blender. Скажу сразу – мне повезло, и ко времени моих поисков ребята из Blender Foundation ушли от своего старого интерфейса:
Рисунок 0. Интерфейс версии 2.4, который я, к счастью, не застал.
- Бесплатной – без комментариев.
- Легковесной:
- Blender-2.76b-windows64.msi: 79.8 Mb
- Autodesk 3ds Max 2016 x64 (даже боюсь представить, как инсталлятор выглядит): 7000 Mb (по показаниям рутракера)
- .fbx (эти ваши Unity с этими вашими анимациями)
- .stl (SolidWorks одобряэ, например)
- .obj (что-то вроде стандарта для 3D пакетов)
- .3ds (ну а вдруг?!)
Дефолтное окно
Рисунок 1. Окно версий 2.6+ по умолчанию после старта. Обратите внимание на обведенные красными квадратами кнопки.Как видно из надписей на картинке, ситуация при старте с настройками по умолчанию следующая:
- На сцену добавлен кубик, лампа и камера. Что, теоретически, дает нам возможность мгновенно запустить рендер сцены (F12 для старта, Esc для выхода) и получить не черный экран.
- Открыты панели управления областью 3D-сцены, что, опять же, теоретически, дает возможность сходу потюнить отображаемую сцену.
- Добавлена область таймлайна на случай, если нам опять же, сходу, захочется кубик поанимировать.
На самом деле
Так или иначе, на самом деле, вы видите следующее:
Рисунок 2. Структура окна Blender.
Рисунок 3. Слева — меню разделения/склеивания областей, справа — кнопка смены области (см. также рисунок 1).Можно сделать ностальгический лэйаут (я таким поначалу пользовался, потом выучил кнопки смены видов в 3D области (NumPad 1,3,7 — спереди, справа, сверху. Если вместе с Ctrl — то противоположные — сзади, слева, снизу. NumPad 5 — переключение между ортогональностью и перспективой)):
Рисунок 4. 3DS Max — подобный интерфейс.Также разработчики добавили переключатель лэйаутов (возможностью добавления-удаления), с преднастроенными лэйатуами. Имхо, это уже для более поздних этапов learning curve. Поначалу оно мне не понадобилось:
Рисунок 5. Слева помечена кнопка выбора существующего лэйаута, справа — кнопки добавления и удаления текущего лэйаута.Важно отметить, что в Blender есть функция сохранения настроек UI (File->Save Startup File).
По итогу, я удалил со сцены пред-созданные лампу, камеру и кубик, а так же склеил область анимации с областью 3D сцены
, убив таким образом всю задумку ребят из BF. После чего воспользовался указанной функцией. Теперь у меня на старте окно такое:
Рисунок 6. 4 области — меню, аутлайнер (содержимое сцены), настроечная и, собственно, 3D-сцена.Когда я начинаю новую модель — это самый необходимый минимум. Далее, зная вышеописанное, можно наворотить в плане отображения что угодно.
Резюмируя. Это не Blender страшный, это дефолтные установки спорные.
Навигация
Левая клавиша – установка 3D курсора (о нем ниже) в указанную точку.
Правая клавиша – выбор чего нибудь (объекта, грани и т.п.).Средняя клавиша:
Драг – вращение вокруг центра сцены (или вокруг курсора, об этом ниже).
Скролл – удаление/приближение от/к центру сцены / куросору.
Tab – переключение режима редактирования (ниже).
Пробел – окно поиска команды.
100500 сочетаний клавиш – остальные команды (о некоторых – ниже).Отступление
Как уже указывалось ранее, программа может многое, при этом выглядит удобоваримо со старта. Концептуально говоря, все эти пляски с лэйаутами, на мой взгляд, служат одной цели – позволять пользователю сфокусироваться на определенном типе задачи, ценой отбрасывания ненужных на данном этапе возможностей (сравните предустановленные лэйауты, например, скриптинга и моушен-трекинга).
То есть, программа на разных этапах выглядит по-разному и, в общем случае, требует разных знаний (что лично мне позволяет не загружать мозги редактированием видео, например).
- Открыть программу рисования 2D-линий, которая позволяла делать сплайны, например, и нарисовать букву. Сохранить файл, закрыть программу.
- Открыть программу 3D-моделлинга с поддержкой Bevel, вытянуть букву в 3D, сохранить, закрыть.
- Открыть текстурную программу, натянуть текстуру, сохранить, закрыть.
- Открыть программу рендера, отрендерить.
Вступление
Вот тут, по-моему, самое место написать самую важную мантру Blender, которую вы (если начнете с ним знакомиться), встретите практически везде: “Используй горячие клавиши”. Мало кто начинает работу с новой программой, выучив все ее горячие клавиши. На этот случай и предусмотрена панель работы с объектами (см. рис. 1) — обратите внимание на табы слева панели. Кстати, обе панели на области 3D-сцены скрываются/отображаются по нажатию T и N. Окно поиска команды (пробел) — тоже из этой оперы.
Но использование горячих клавиш (по крайней мере, в моделлинге) — лично я очень рекомендую. Благо, основных операций не так уж и много, штук 10-15. За время работы над одной не самой элементарной моделью выучиваются влегкую. Надо признать, что интерфейс позволяет сделать что угодно, не нажав ни одной горячей клавиши. Просто это займет больше времени. Тут как в старкрафте — или ты гоняешь Джима Рейнора по карте и яростно ставишь все его 3 мины кликами по абилкам внизу справа, или контролишь дроп против корейцев.
UV-развертка необходима для того, что-бы мы могли наложить текстуру на 3D-объект. А если точнее, с помощью развертки мы указываем как именно 2D текстура должна накладываться на 3D объект.
Я буду показывать на примере Blender 2.8. На примере кубика, так как его геометрия самая простая, да и он есть на сцене с самого начала. Если выбрать куб и перейти на вкладку UV-Editing, то вы увидите вот такую картину.
Нажатием на TAB перейдем в режим редактирования и выберем все вершины нажатием A. Слева мы увидим уже готовую развертку для куба.
Но, что делать если геометрия не стандартная? Для этого нужно подумать как разместить швы.
Швы - это разрезы на поверхности 3D объекта, которые разрезают объект так чтобы его можно было развернуть на плоскость.
Хм, наверное звучит не совсем понятно, но думаю я смогу показать все на примере. Давайте изуродуем развертку этого куба как по нашему мнению "будет лучше"(нет)?.
Я выделил верхние несколько граней. Делается это ЛКМ в режиме выделения граней, который в свою очередь выбирается вверху слева или на цифрах на клавиатуре, нажатием 2.
Далее нужно пометить их как швы. Жмем ПКМ и в меню выбираем Mark seam (Пометить шов). Далее снова выбираем все кнопкой A и сверху в меню выбираем пункт UV. В выпавшем меню жмем Unwrap. Слева отобразиться новая развертка.
Кхм, даа.. Ну, что навыделяли то и получили) Все это было сделано для примера и понимания того как нужно или ненужно делать развертку. Думаю лучше вернуть старую развертку. Выделяем все кнопкой A и помечаем все грани как швы. ПКМ - Mark seam. Далее в меню вверху UV - Unwrap.
Не плохо, но это не то что было. Можно конечно и так пользоваться, но мы ведь хотели "как было". Давайте сотрем все метки швов.
Для этого выберем все грани, ПКМ - Clear seam. UV - Unwrap.
Как ни чего не поменялось? Все должно было сработать!
Ладно ладно, шучу, нужно указать стандартные швы в ручную?.
У меня получилось что-то такое.
Попробуйте сделать это сами, а что-бы помочь понять "как?". Представьте, что этот куб нужно собрать из картона или бумаги. Слева эта самая бумага и показывается. А швы это разрезы по собранному кубу.
Для упрощения задачи в меню UV есть пункт Live unwrap. Он будет отображать изменения сразу на текстуре. Однако не забывайте, что развертка на текстуре отображается только когда выбрано что-то, например все.
Рисование по объекту
Ну вот вы и разобрались как делать развертку. Возможно даже уже нажали на пункт верхнего меню Texture paint. И при попытке что-то нарисовать у вас вылезла ошибка "нет текстуры". Все правильно. Мы ведь не сохранили текстуру и не назначили ее объекту.
На вкладке Texture paint в верхнем меню выбираем New и в новом окне настраиваем параметры и название будущей текстуры.
И сохраняем текстуру куда угодно, лучше в папку с вашим проектом.
После этого необходимо наложить текстуру на объект. В правом меню выбираем пункт "Настройки материалов" и уже в материале меняем просто цвет на текстуру.
Куб почернел, так как текстура пустая. Теперь можно красить куб удобным способом. Например можно делать это прямо в Blender.
Вы уже находитесь там где нужно. Попробуйте порисовать на кубе, просто левой кнопкой мыши. Слева, на текстуре, сразу будет виден результат.
Текстуру нужно сохранять после изменения, как мы уже сохраняли.
Так же, естественно, можно редактировать текстуру в любом графическом редакторе, например, GIMP, PhotoShop и т.д.
Ну вот, думаю к этому моменту вы уже понимаете как сделать UV-развертку в Blendr 2.8+. Спасибо за внимание и легкого моделирования!
Читайте также: