Программы для текстурирования 3д моделей blender

Обновлено: 07.07.2024

Привет, меня зовут Сергей Мингулин, я — 3D-художник и преподаватель курса по созданию стилизованных 3D-персонажей в XYZ. Посмотреть на мои проекты можно здесь. Это — первая статья из цикла о визуализации в Blender.

Сегодня поговорим о том, как настраивать материалы, и какие дополнительные программы и расширения облегчат работу. А ближе к финалу я дам небольшой туториал по созданию интересного эффекта свечения на примере иллициев мутанта — выростов на голове для приманивания добычи.

Substance Painter — программа для текстурирования 3D-моделей или создания текстур/текстурных карт для них. По ходу работы мы будем импортировать текстуры отсюда.

Node Wrangler — аддон, который содержит разнообразные инструменты для улучшения и ускорения воркфлоу, основанного на нодах (node-based workflow).

Активируется он следующим образом:

Переходим во вкладку «Edit», заходим в настройки «Preferences» и в «Add-ons» ставим галочку на соответствующей вкладке. Для удобства ищем аддон через поисковую строку.

После того как портировали нужную модель в Blender, находим вверху вкладку Editor Type и выбираем Shader Editor. Нас перебрасывает в меню.

Material Editor имеет 2 режима:

Здесь есть две настройки:

Surface (поверхность) — сюда можем подключить обычный background (включен по умолчанию) и поменять его цвет или же добавить HDRI текстуру (удалить нод background и добавить Environment texture через Shift+A ). Я остановился на обычном бэкграунде.

Volume (объём) — здесь я добавил шейдер principled volume, который отвечает за «туман» или условную прозрачность атмосферы вокруг объекта.

2. Редактирование объектов, с которым мы и будем сегодня работать.

Чтобы создать нод, нажимаем Shift-A — этот хоткей вызывает панель с вкладками настроек. Мы можем как вручную искать во вкладках интересующую нас, так и ввести название в строку «search», после чего нод появится в меню.

Чтобы создать новый материал без названия и настроек, нажимаем вкладку Material Properties и щёлкаем «+».

Здесь же нажимаем «new», и у нас появляются базовые ноды: Material Output и Principled BSDF, с помощью которых мы будем проводить изменения.

Важно: не забываем активировать Node Wrangler.

Выделяем базовый шейдер и нажимаем Shift+Control+T. Комбинация откроет нам меню выбора файлов. Выделяем нужные нам текстуры и подгружаем.

Если по умолчанию в названии файла текстуры есть приписка с её назначением, прога сама привязывает соответствующие файлы к параметрам.

Редактировать эти приписки (или суффиксы/тэги) можно в меню:

Если значение определилось неверно, изменить привязку можно самостоятельно, соединив мышкой output нода и input шейдера.

Кроме того, текстуру можно так же вручную перетянуть из окна в программу и прилинковать.

Назначить материал для модели можно, снова перейдя в 3D Viewport. Выделяем нужный объект, и пакет назначается автоматически. Если нам нужен другой, жмём крестик, а затем вкладку «new» или выбираем из уже имеющихся сохранённых.

Стоит оговориться, что речь пойдёт о модели хайполи с высокой плотностью сетки, которая призвана проиллюстрировать навык дизайнера в рамках портфолио.

В связи с этим, геометрия позволяет нам не использовать отдельную карту под 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 и т.д. в зависимости от вашей сборки

Также, в зависимости от того, в каком пайплайне мы работали в Substance Painter и какой там пресет на экспорт текстур (под OpenGL или DirectX), может потребоваться «флипнуть» зелёный канал в Normal Map.

Для этого нажимаем Shift-A, находим Separate RGB и подключаем к нему output Color. Как понятно из названия, этот нод даёт нам провести необходимую манипуляцию с одним из каналов (Red, Green, Blue). Теперь, чтобы инвертировать зелёный канал (G), добавляем нод Invert со значением Fac «1.000» и подключаем обратно через Combine RGB.

Эту конструкцию мы затем подключаем к Normal в Principled BSDF. Roughness (чёрно-белая карта, не требует манипуляций с каналами) подключается в соответствующий слот шейдера, так же как и Albedo (Base Color).

Вот так выгладит готовая сборка материала:

Фиолетовое поле — это наш Normal Map. Не обращаем внимания на неприлинкованные окна.

В случае с зубами настройки всё те же. Также флипаем при необходимости зелёный канал в нормалке.

Иллиций — особый ловчий вырост («удочка») на вершине головы у костистых рыб отряда удильщикообразные, служащий для приманивания добычи. Нечто похожее есть и у нашей модели.

Рассмотрим, как распределить свечение по всей длине иллициев, — от наибольшей интенсивности к наименьшей.

Наши «удочки» будут состоять из:

нижнего слоя — овалы внутри, дающие основное свечение на концах;

среднего слоя — так же светящиеся трубки;

верхнего слоя — внешняя оболочка иллициев.

Material Output нижнего слоя состоит из Principled BSDF, который идёт в Surface объекта, и Principled Volume, подсоединённого к параметру «внутреннего объёма».

Так как геометрия объектов простая, Normal Map нам не нужен, и его значения мы оставляем «по умолчанию». Основные манипуляции будем проводить с названными выше нодами.

Первый — это Principled BSDF. Здесь мы задаём Base Color значением HSV (Hue, Saturation, Value), оставляем Roughness по умолчанию и переходим к настройке прозрачности. Так как наш объект будет скрыт под другими слоями, и основное свечение будет исходить из внутреннего объёма, ставим значение Transmission «1.000» — это даёт нам полностью прозрачный объект. А параметр Transmission Roughness позволяет выбрать, насколько матовой или глянцевой будет поверхность (чем больше значение, тем меньше глянца).

Переходим к работе с Volume. Здесь мы задаём цвет внутреннего «тумана» и его плотность, выставив значение Density на 10.000.

Привет, меня зовут Сергей Мингулин, я — 3D-художник и преподаватель курса по созданию стилизованных 3D-персонажей в XYZ. Посмотреть на мои проекты можно здесь. Это — первая статья из цикла о визуализации в Blender.

Сегодня поговорим о том, как настраивать материалы, и какие дополнительные программы и расширения облегчат работу. А ближе к финалу я дам небольшой туториал по созданию интересного эффекта свечения на примере иллициев мутанта — выростов на голове для приманивания добычи.

Дополнительные программы для удобства

Substance Painter — программа для текстурирования 3D-моделей или создания текстур/текстурных карт для них. По ходу работы мы будем импортировать текстуры отсюда.

Node Wrangler — аддон, который содержит разнообразные инструменты для улучшения и ускорения воркфлоу, основанного на нодах (node-based workflow).

Активируется он следующим образом:

Переходим во вкладку «Edit», заходим в настройки «Preferences» и в «Add-ons» ставим галочку на соответствующей вкладке. Для удобства ищем аддон через поисковую строку.

Как работать в Material Editor

После того как портировали нужную модель в Blender, находим вверху вкладку Editor Type и выбираем Shader Editor. Нас перебрасывает в меню.

Material Editor имеет 2 режима:

1.Редактирование «мира» сцены.

Здесь есть две настройки:

Surface (поверхность) — сюда можем подключить обычный background (включен по умолчанию) и поменять его цвет или же добавить HDRI текстуру (удалить нод background и добавить Environment texture через Shift+A ). Я остановился на обычном бэкграунде.

Volume (объём) — здесь я добавил шейдер principled volume, который отвечает за «туман» или условную прозрачность атмосферы вокруг объекта.

2. Редактирование объектов, с которым мы и будем сегодня работать.

Чтобы создать нод, нажимаем Shift-A — этот хоткей вызывает панель с вкладками настроек. Мы можем как вручную искать во вкладках интересующую нас, так и ввести название в строку «search», после чего нод появится в меню.

Пример создания пустого материала

Чтобы создать новый материал без названия и настроек, нажимаем вкладку Material Properties и щёлкаем «+».

Здесь же нажимаем «new», и у нас появляются базовые ноды: Material Output и Principled BSDF, с помощью которых мы будем проводить изменения.

Важно: не забываем активировать Node Wrangler.

Выделяем базовый шейдер и нажимаем Shift+Control+T. Комбинация откроет нам меню выбора файлов. Выделяем нужные нам текстуры и подгружаем.

Если по умолчанию в названии файла текстуры есть приписка с её назначением, прога сама привязывает соответствующие файлы к параметрам.

Редактировать эти приписки (или суффиксы/тэги) можно в меню:

Если значение определилось неверно, изменить привязку можно самостоятельно, соединив мышкой output нода и input шейдера.

Кроме того, текстуру можно так же вручную перетянуть из окна в программу и прилинковать.

Назначить материал для модели можно, снова перейдя в 3D Viewport. Выделяем нужный объект, и пакет назначается автоматически. Если нам нужен другой, жмём крестик, а затем вкладку «new» или выбираем из уже имеющихся сохранённых.

Настройка материала высокополигональной модели

Стоит оговориться, что речь пойдёт о модели хайполи с высокой плотностью сетки, которая призвана проиллюстрировать навык дизайнера в рамках портфолио.

В связи с этим, геометрия позволяет нам не использовать отдельную карту под 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 и т.д. в зависимости от вашей сборки

Также, в зависимости от того, в каком пайплайне мы работали в Substance Painter и какой там пресет на экспорт текстур (под OpenGL или DirectX), может потребоваться «флипнуть» зелёный канал в Normal Map.

Для этого нажимаем Shift-A, находим Separate RGB и подключаем к нему output Color. Как понятно из названия, этот нод даёт нам провести необходимую манипуляцию с одним из каналов (Red, Green, Blue). Теперь, чтобы инвертировать зелёный канал (G), добавляем нод Invert со значением Fac «1.000» и подключаем обратно через Combine RGB.

Эту конструкцию мы затем подключаем к Normal в Principled BSDF. Roughness (чёрно-белая карта, не требует манипуляций с каналами) подключается в соответствующий слот шейдера, так же как и Albedo (Base Color).

Вот так выгладит готовая сборка материала:

Фиолетовое поле — это наш Normal Map. Не обращаем внимания на неприлинкованные окна.

В случае с зубами настройки всё те же. Также флипаем при необходимости зелёный канал в нормалке.

Пошаговое создание светящихся иллициев

Иллиций — особый ловчий вырост («удочка») на вершине головы у костистых рыб отряда удильщикообразные, служащий для приманивания добычи. Нечто похожее есть и у нашей модели.

Примеры в референсах.

Рассмотрим, как распределить свечение по всей длине иллициев, — от наибольшей интенсивности к наименьшей.

Наши «удочки» будут состоять из:

нижнего слоя — овалы внутри, дающие основное свечение на концах;

среднего слоя — так же светящиеся трубки;

верхнего слоя — внешняя оболочка иллициев.

a) Нижний слой

Material Output нижнего слоя состоит из Principled BSDF, который идёт в Surface объекта, и Principled Volume, подсоединённого к параметру «внутреннего объёма».

Так как геометрия объектов простая, Normal Map нам не нужен, и его значения мы оставляем «по умолчанию». Основные манипуляции будем проводить с названными выше нодами.

Первый — это Principled BSDF. Здесь мы задаём Base Color значением HSV (Hue, Saturation, Value), оставляем Roughness по умолчанию и переходим к настройке прозрачности. Так как наш объект будет скрыт под другими слоями, и основное свечение будет исходить из внутреннего объёма, ставим значение Transmission «1.000» — это даёт нам полностью прозрачный объект. А параметр Transmission Roughness позволяет выбрать, насколько матовой или глянцевой будет поверхность (чем больше значение, тем меньше глянца).

Переходим к работе с Volume. Здесь мы задаём цвет внутреннего «тумана» и его плотность, выставив значение Density на 10.000.

Настройки материала нижнего слоя.

Как настроить свечение?

На скриншоте выше мы видим, что Emission поверхности — чёрный. Это значит, что свечение будет исходить не от неё, а от Volume. Для этого мы и задавали максимальную прозрачность оболочки. Так как этот слой будет ещё под двумя, задаём большое значение в параметре Emission Strength («сила излучения») — «1700.000».

b) Средний слой

Ноды этого слоя те же, что и у предыдущего. В Principled BSDF значение Roughness мы выставляем меньше, примерно в 3 раза, что даёт нам более глянцевую поверхность. Значение IOR (индекса преломления) оставляем по умолчанию. Transmission, в случае второго слоя, у нас контролируется через Color Ramp и Layer Weight.

Настройки материала среднего слоя.

Layer Weight — нод, из которого мы берём значение Френелевского отражения.

В зависимости от того, под каким углом мы смотрим на поверхность объекта, сам объект кажется нам в большей или меньшей степени прозрачным. Коротко этот эффект можно описать так: чем ближе к 90° угол между направлением взгляда и поверхностью прозрачного объекта, тем более прозрачным он кажется.

Пример: рыба из референса. Мы видим, как поверхность всё больше теряет прозрачность и обретает цвет по краям.

Color Ramp — по своей сути, аналог уровней в Photoshop, с помощью которого мы можем:

1) инвертировать цвета — по умолчанию белый цвет справа, чёрный слева; перетягивая ползунки друг на друга, обращаем цвета.

2) настроить контрастность — чем меньше расстояние между ползунками, тем она больше.

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

От настройки поверхности переходим к свечению. Оно берётся из нода Principled Volume, который мы также подключаем к Material Output (Volume). Цвет тумана — красный, испускаемого света — оранжевый. Выбираем значение плотности — «1.000», и Emission — «400.000».

Таким образом, получаем плавный переход от более интенсивной точки свечения, расположенной на прозрачном участке, к менее интенсивному по всей длине менее прозрачного стержня.

c) Верхний слой

Наконец, настройки внешней оболочки выглядят следующим образом:
Общий принцип остаётся тот же: Principled BSDF, к которому подсоединяем Bace Color с Color Space sRGB, и упрощённая настройка volume — Volume Absorption.

На последнем останавливаться нет смысла, затронем основные моменты настройки Principled BSDF.

Для Roughness была использована готовая текстура из Substance Painter.

Аналогично применяем готовый градиент к Transmission и миксуем его с уже описанным Layer Weight (откуда берём френель) + Color Ramp (инверт LW).

Чтобы смешать прозрачность по френелю и по градиенту, создаём нод MixRGB и выбираем вариант смешивания Multiply, линкуем их к нему (Color1 и Color2), после чего соединяем нод Multiply с Transmission.

И не забываем инвертировать зелёный канал в Normal Map при необходимости.

Так выглядит наша модель на рендере. В следующий раз поговорим о том, как выставить свет в соответствии с задачами, и правильно её подать.

Наконец то хоть про блендер начали говорить из этой школы🤗

В Blender'e, кстати есть режим TexturePaint - как раз специально для рисования текстур поверх 3D-модели прямо в Blender'e. Так-что куда-то что-то импортировать потом экспортировать вообще нет смысла, только время тратить. В инете тьма видеороликов на эту тему:




Не секрет, что пакет Blender 3D набирает всё большую популярность среди 3D дизайнеров и Indie разработчиков игр, т.к. является очень мощным и бесплатным средством разработки. Обладая возможностью не только моделирования, но и скульптинга, рисования текстур по модели, подготовки модели для 3D печати, motion capture и еще многими и многими возможностями. Однако, разработчики Blender`а часто акцентируют внимание на то, что много полезных функций реализованы в виде addon`ов, которые включены в дистрибутив, но не включены для работы по умолчанию. Моделирование, это моё хобби и под катом, моя подборка дополнений, которые на мой взгляд сильно облегчают жизнь и упрощают моделирование. В данной статье, я рассмотрю дополнения, которые работают с актуальным на данный момент Blender 2.74.

Подключается здесь: Community->Import-Export->Import Images as Planes.
Активируется через: Shift+A->Mesh->Images as Planes.
Пример:

Позволяет гибко работать с узлами в Cycles и ускоряет процесс создания материалов. Например, при стандартном создании материала вам необходимо смешать два шейдера. Для этого, вы ищете и вставляете Mix Shader, далее подключаете его к Material Output и самим шейдерам. С помощью Node Wrangler, достаточно всего лишь одного движения мышки, что бы сделать то-же самое.
Пример (Нажимаем Alt+ПКМ):

Скрипт сканирует папки с blend файлами, и отображает в виде списка объекты, текстуры, материалы и т.д. которые могут быть добавлены в вашу сцену.


Добавляет в Blender панельку для экспорта модели в Unreal Engine 4. Позволяет настроить параметры сцены в UE, переименовывать объекты, настраивать pivot и экспортировать анимацию. Не входит в стандартный набор Blender. Автором является не программист, а 3d artist, который просто хочет облегчить себе работу и, по моему, у него не плохо получается.
Пример работы:

Прошу вас в комментариях поделиться дополнениями которыми пользуетесь вы. Буду рад, любым отзывам.


В этом руководстве я расскажу что такое текстурирование в Blender`е и как оно работает.


2


1


1,762 уникальных посетителей
88 добавили в избранное




Текстуры в Blender позволяют делать материалы более реалистичными, более похожими на вещества, из которых состоят объекты реального мира. Кроме того, с их помощью можно накладывать готовые изображения на поверхности, создавать рельефные карты и др.

В случае mesh-объектов текстура применяется как бы поверх материала. Здесь нельзя использовать текстуру, не привязав к объекту материал. С другой стороны, с материалом может быть связано несколько текстур. Каждая из них окажет свой эффект на совокупный результат.

Настройки текстур в Blender еще многообразнее, чем материалов. Для более полного освещения этой темы требуется отдельный курс. В данном уроке рассматриваются некоторые моменты работы с текстурами.

В Blender 2.80 работа с текстурами, также как с материалами, претерпела изменения. Текстуры теперь нельзя просто создать и применить к объекту через вкладку Texture редактора Properties. Придется освоить работу еще как минимум в одном редакторе Blender. Это будет Shader Editor – редактор шейдеров.

Разобьем область 3D Viewport по вертикали на две части и в одну загрузим Shader Editor.

Редактор шейдеров
В этом редакторе масштабирование, перемещение (при зажатых шифте и колесе мыши) работают также как в 3D Viewport.

Если объекту добавлен материал, то у него уже будут две ноды. Настройки основной, в данном случае Principled BSDF, дублируются на вкладке материалов, если не выключать там кнопку Use Nodes.

У нод есть сокеты – маленькие точки по бокам. Через них происходит соединение нод. Так одна нода оказывает влияние на какое-то свойство другой. Если мы хотим добавить текстуру, нам нужна нода с текстурой. Добавить ее можно через меню заголовка Add → Texture → … . Также работает Shift + A.

Добавим Brick Texture и соединим ноду со свойством Base Color основной ноды. Мы как бы заменяем цвет на текстуру. Чтобы увидеть эффект в 3D Viewport, не забываем в нем переключиться на затенение Rendered (Z → 8).

Кирпичная текстура - Brick Texture
У ноды Brick Texture много настроек, которые позволяют гибко менять текстуру. Однако здесь нельзя сделать так, чтобы кирпичи были со всех сторон куба.

Настройка Brick Texture
Для этого нужно добавить еще одну ноду – Add → Input → Texture Coordinate. В данном случае соединим ее сокет UV с сокетом Vector в Brick Texture.

Texture Coordinate и Brick Texture
Рассмотрим ноду Image Texture – наложение на поверхность собственной картинки.

Настройка Image Texture в Blender 2.80
Исходно в ноде Image Texture есть кнопки New и Open. С помощью последней загружается готовое изображение. После этого заголовок Image Texture меняется на имя файла.

Если мы просто соединим ноды Image Texture и Texture Coordinate, то скорее всего получим различные эффекты оборачивания объекта картинкой. В этом случае можно вообще обойтись без Texture Coordinate.

Если же мы хотим как-то позиционировать изображение на гранях, повторить его, то между Texture Coordinate и Image Texture добавляется нода Mapping (картирование, отображение), с помощью настроек которой изображение подгоняется под грани объекта. Например, чем больше значение полей Scale, тем мельче будет картинка, и тем чаще она будет повторена. Location перемещает картинку по грани, что позволяет совместить ее края с краями грани или выравнять по центру.

Читайте также: