Как сделать текстуру плитки в блендере

Обновлено: 04.05.2024

Вольный перевод видео с канала lotsalote. Под видео есть ссылка на файл с текстурами от автора. Lotsalote делает красивые ролики в Blender. Всем советую полюбоваться.

В ролике lotsalote демонстрирует маленький мультик в начале. В этом уроке мы будем делать шар из этого мультика с использованием процедурных текстур.

Создаем новый файл. Жмем A (выбрать всё), потом X (удалить). Shift+A/ico Sphere - добавить сферу из треугольников. Subdivisions (подразделение) выставляем 5.

G-Z-Ctrl - перемещаем по оси Z вверх, контролируя привязку. Низ шара установился на 0,00.

Shift+A/Plane - выставляем плоскость, S - масштабируем, да побольше.

В Scene переключаемся в режим Cycles и устанавливаем Device/GPU Computer.

Примечание - в общих настройках Edit/Preferencec в Sistem/Cycles Render Devices отмечаем CUDA с галочкой на Geforce GTX 950M(Display). Сохраняем настройки.

Создаем новую плоскость, поднимаем её над шаром. Идем в материалы и создаем новый материал Material - New, называем Light top, меняем Surface (поверхность) c Principled BSDF (основной фактор поверхности ((или как то так))))) на Emission (излучение).

Мы сделали свечение, но сейчас мы его не видим. Нужно переключиться на Viewport Shading (область просмотра с затенением). Не забудьте CYCLES - CUDA - GEFORCE - как на картинке выше. Подумать только, мой ноут при этик настройках перестал надрываться и греться при переходе в Cykles. такой простой life huck.

В World Settings (настройки окружения) его Color (цвет) делаем черным.

Масштабируем светящуюся плоскость по оси X для добавления света и смягчения теней.

Сейчас важный момент для новичков. Возможно, для кого то будут в новинку ноды и процедурные текстуры. По этому этой части урока лучше уделить больше внимания (вольный перевод TF).

Нам нужно попасть в поле с этими нодами. Для разделения экрана идем в View (вид)/ Area(площадь)/Vertical Split (вертикальное разделение) и разделяем на нужные нам области .

В Editor Type ( тип редактора) устанавливаем Shader editor (редактор текстур).

В окне Shader Editor мы уже видим два нода. (Прим. TF - если ничего не видите, то в окне Layout (макет) выберите объект - верхнюю плоскость с новой текстурой)))). Итак - основной нод Material Output (выходящий материал) имеет три параметра: Surface - поверхность, Volume - объем, Displacement - смещение. Нод Emission (излучение) имеет параметры Color - цвет и Strength - сила.

Нод Emission соединен с нодом Material Output в параметре Surface, это и заставляет поверхность объекта светится. Можете поэкспериментировать и разделить ноды, сместив связь - посмотрите что получиться. Так же, можно поиграться цветом и силой света в ноде Emission.

Еще один life huck для фото реалистичного рендера. Shift+A (добавить) - Converter (конвертер) - Blackbody (черное тело))) - этот нод имеет только один параметр - температура цвета. Поэкспериментируйте с нодом. Для нашего нового материала будут хороши такие параметры Blackbody/Temper: 3200, Emission/Strength: 5.

Наконец, мы можем создать материю шару. Если выбрать шар, поле Shader Editor (редактор текстур) будет пустым. У нас нет материала шара. Идем в Material (материалы), щелкаем на New (новый), называем Ball (шар). В поле Shader Editor (редактор текстур) появляются два нода - уже известный нам Material Output и Principled BSDF (основной фактор поверхности). Удаляем Х - Principled BSDF (основной фактор поверхности) (примечание переводчика: автор ролика недоумевает для чего сделана такая новая фича в 2.8)

Shift+A (добавить)/Shader(текстура)/Glossy BSDF (глянцевый) - добавили нод с глянцем, соединяем с Material Output, понятное дело, в Surface (поверхность). Параметр Routhness (шероховатость) ставим на 0. Сейчас на шаре стали видны грани. Выделяем шар, жмем правой кнопкой мыши и выделяем Shader Smooth (сгладить текстуру), любуемся на блестящий золотой шарик))))

Теперь посмотрим, что интересного мы можем сделать. Жмем Shift+A/Texture (текстуры) и любуемся большим набором. и выбираем нашу любимую Voronoi Texture, конечно. куда бы её присоединить. присоединяем к Glossy-Color и наблюдаем пятнышки на шаре, можем присоединить к Routhness и полюбоваться чередованием гладкой и шероховатой поверхности. А можно присоединить прямо к Material Output в Displacemet. но, что то не то. мы не можем контролировать глубину текстуры. Ставим нод, который за это в ответе Shif+A/Vector/Displacement . ну кто бы мог подумать. )))

Color вороного соединяем с Hight (высота) нода смещения, ну а Dispacement, понятно, в Displecement. Теперь, изменяя масштаб в ноде Displacment мы можем контролировать глубину текстуры. В диапазоне 0,02-0,05 симпотно получается.

У нодов текстур есть замечательный параметр - Vector - это ваш лучший друг. Он поможет управлять текстурой.

И вот оригинальная мысль, а давайте добавим еще одну текстуру через вектор! Уже смешали. больше всего мне понравились - вороной с вороным, вороной с Noise. Вариантов море. А это еще цвет не подключали!

Для создания шара для ролика, автор использовал Noise Texture (шумную текстуру) с параметрами, указанными на картинке ниже. К ноду Glossy (глянец) добавили нод Fresnel (Френель) через нод Color Ramp (распределение цвета).

Прим. TF: Noise (шум) - в фото и рендеринге это хаотичный набор видимых точек разной светлости, например - тень от шара на скриншоте выше.

По роликом с канала lotsalote находится ссылка на файл с текстурами автора.

XYZ School

XYZ School

XYZ School запись закреплена

Никита Сакичев


Никита Сакичев

Василий Гуржий

Влад Войченко


Влад Войченко ответил Василию

Василий, Английский язык как и культура должны быть уничтожены, я к примеру бойкотирую контент на ангийском

Влад, тогда почему ты не бойкотируешь американский интернет и прочий софт. Да и то, с чего ты писал этот текст, стопудово продукт английской культуры. Только сделан китайцами.

Степан Юрченко


Степан Юрченко

Никита Сакичев


Никита Сакичев ответил Василию

Василий Гуржий

Никита Сакичев


Никита Сакичев ответил Василию

Василий Гуржий

Никита, ничё, главное достаточно долго с ними сидеть, сам не заметишь, как будешь даже субтитры врубать(а для начала наоборот советую включать). Если совсем тяжко, есть у меня нормальный ресурс для быстрого старта.

Thomaz Seraziev

😉

Vlad, вау, хейт ток в другую культуру, вот это криндж, вам бы почилить от работы и сокращать овертайнм, а то так точно депрессо эспрессо будешь, гудбай

Максим Микрюков


Максим Микрюков

В blender такой себе функционал в плане процедурных текстур. Сложные текстуры с узорами там сделать в 500 миллионов раз сложнее, чем в сабстенсе. Если же нужно использовать текстуры именно в блендер, то есть плагин от сабстенс.

Привет, меня зовут Сергей Мингулин, я — 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).

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

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

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

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

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

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

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

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

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.

О том, как запечь в одну текстуру созданный процедурно (нодами) материал в Blender 2.8 и выше. Запекание при помощи опции "Selected to Active".

Пример будет простым - сфера с четырьмя материалами:

Чтобы запечь назначенные материалы, которых у вас может быть сколько угодно на одном объекте, в одну текстуру, следует сделать следующее:

1. В объектном режиме (Object Mode) выделяем изначальную сферу с четырьмя материалами и с помощью Shift+D дублируем её, оставляем на том же месте. Теперь на сцене две сферы друг в друге (изначальная сфера у меня скрыта - она серая (скрыть/раскрыть видимость - глазик рядом с названием объекта)).

2. У дубликата удаляем все материалы, нажимая на минус справа от материалов, и добавляем один новый материал, нажимая на плюс.

3. У дубликата обязательно должна быть развёртка.

4. Нажимаем на "New", вводим желаемое разрешение текстуры и жмём "OK".

1. Во вкладке настроек рендера.

2. Выбираем "Cycles" рендер.

3. Переходим в Shader Editor.

Обратите внимание, что метод отображения объектов на сцене у меня стоит "Rendered" (выделено справа сверху).

1. Добавляем нод "Image Texture".

2. Кликаем на обозначенный квадрат и в выпадающем списке выбираем текстуру, которую до этого создали.

3. Раскрываем опцию "Bake".

4. Выбираем "Diffuse". Ниже оставляем галочку только на "Color" (или выбираем подходящее, если нужно запекать цвет со светом).

5. Ставим галочку на "Selected to Active". Ниже задаём параметры запекания (значение 0.01 чаще всего подходит нормально, главное - не 0 и не супер большое значение, в остальном - поэкспериментируйте, если не устроит результат).

Оба объекта отображаются на сцене (теперь оригинальная сфера не скрыта), из-за чего виден "материал в материале".

1. Первым выделяем кликом дубликат изначального объекта.

2. А сразу после с зажатым Shift кликаем на изначальный объект.

3. Нажимаем "Bake".

После некоторого ожидания (о чём будет говорить строка загрузки в нижней части программы) все материалы запекутся в одну текстуру. Если текстура не обновится сама, в UV Editor кликните на "Image" и далее "Reload Textures" (для версий ниже Blender 3).

Ноду "Image Texture" можно подключить ко входу "Base Color", чтобы увидеть, как запечённая текстура смотрится на объекте (не забудьте скрыть оригинальный объект, иначе отображение будет выглядеть некорректно).

А для чего нужно запекать текстуру?

Для того, чтобы сохранить изменения, которые нагенерила шейдерная система, в текстуру и потом перенести их в игровой движок, наприме.
У блендера крайне мощная процедурная составляющая, несколько наборов шумов. Используя шумы можно создавать фактуру стали, кожи, волос, шерсти, да . чего угодно практически. Но перенести сложные и длинные графы шейдеров, которые получаются внутри блендера, в тот-же unity или Unreal Engine напрямую не получится. Более того, EEVEE блендера и рендерер той-же Unity это разные движки не совместимые между собой. Но оба этих движка умеют читать текстуры. Поэтому чтобы перенести свой красивый процедурный мех, сгенерированный шейдером в блендере, внутрь юнити, надо сначала этот мех запечь. В несколько текстур. И уже текстуры перенести в игровой движок.

Так-же запекание используется для оптимизации игровых ассетов. Так, например, игровой персонаж может иметь в блендере несколько десятков материалов. Как минимум это материалы: кожи, глаз (зрачок, белок), волос, ногтей, зубов, десен. Если взять и засунуть персонажа с таким числом материалов прямо в игровой движок, то рано или поздно вы обнаружите, что ваша сцена не может отобразить больше 10 персонажей. Из за огромного числа отзывов на отрисовку. В свою очередь игры вроде GTA могут иметь на сцене больше сотни неигровых персонажей. И при этом каждый неигровой персонаж там имеет полноценные волосы, одежду и так далее. Что же такого сделали разработчики? А они просто запихнули все материалы персонажа внутрь одной единственной текстуры. И одного, соответственно, материала. И поэтому отрисовка одного персонажа в гта очень дешева в плане производительности. То есть запекание испльзуют еще и для того, чтобы собрать все материалы в один набор текстур.

Если материал создавался в Blender (то есть модель там "разукрашивалась") и дальше модель с этим материалом нужно загрузить, например, на 3D стоки или запихнуть в игровой движок, то вот для этого.

Если у тебя условная фотограмметрия, то с источника можно на лоуполи запечь фототекстуры

либо же для условного последнего лода, когда у тебя должен быть примитив, но нужны текстуры не по юв


Гайды

Гайд по правильному текстурированию текстур PBR в Blender. А также объяснение каждого материала.

Объяснение каждого материала и того, как его использовать

(Самый Используемые)

Базовый цвет

Карта базового цвета определяет цвет поверхности. Он должен быть подключен к входу Base Color в Principled BSDF. Также убедитесь, что цветовое пространство файла изображения установлено на sRGB, поскольку для текстуры нужен цвет sRGB. Этот материал будет у каждой текстуры PBR.

Шероховатость

Карта шероховатости определяет степень шероховатости поверхности. Его следует подключить к входу Roughness в Principled BSDF. И убедитесь, что цветовое пространство файла изображения установлено на Non-Color. Узел гамма — это необязательный узел, вы можете добавить его, если хотите. Обычно я часто использую его, чтобы сделать карту шероховатости темнее или ярче. Каждая текстура PBR будет иметь этот материал.

Карта высот

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

Если вы хотите использовать его для создания подробных теней и светов, его следует подключить к входу «Высота» узла «Рельеф», который следует подключить к входу «Нормальный» в Principled BSDF. Также убедитесь, что цветовое пространство файла изображения установлено на Non-Color. Используя ползунок Strength узла Bump, вы можете контролировать силу эффекта, что действительно полезно для игры с деталями/молнией.

Если вы хотите использовать его для фактического смещения геометрии вашего объекта, его следует подключить к входу «Высота», если узел «Смещение», который затем следует подключить к входу «Смещение» узла «Вывод материала». Убедитесь, что цветовое пространство файла изображения также установлено на Non-Color. С помощью ползунка «Масштаб» узла «Рельеф» вы можете контролировать степень смещения геометрии.

Если по какой-то причине ничего не происходит, убедитесь, что метод Displacement в настройках материала установлен на « Displacement » только или « Displacement and Bump ». Я всегда использую « Displacement and Bump » если вам интересно.

И если по какой-то причине вы не видите вкладку «Смещение». Убедитесь, что у вас есть циклы в качестве движка рендеринга, чтобы в настройках материала появлялась вкладка смещения.

Карта нормалей

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

Обычно он должен быть подключен к входу Color узла карты нормалей, который должен быть подключен к входу Normal в Principled BSDF. Однако некоторые карты нормалей « DirectX » карты нормалей, но блендер использует « OpenGL », что означает, что мы должны инвертировать зеленый канал карты нормалей. Вы можете сделать это, добавив узел кривых RGB между узлом изображения и нормальным узлом, а затем изменив кривую в « G » канал, чтобы он соответствовал кривой на скриншоте ниже. Убедитесь, что цветовое пространство файла изображения установлено на Non-Color. Этот материал присутствует в каждой используемой вами PBR-текстуре.

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

Металлическая карта

Карта Metallic определяет, какие части материала являются металлическими, а какие нет. Он должен быть подключен к металлическому входу Principled BSDF. Убедитесь, что цветовое пространство файла изображения установлено на Non-Color. Эта карта доступна только для металлических и неметаллических материалов. Если металлический материал не имеет этой карты, измените значение металла в Principled BSDF на 1. Металлические материалы очень часто встречаются в металлических текстурах PBR.

Окклюзия окружающей среды или также называемая АО

Карта Ambient Occlusion (AO) может использоваться для имитации мягкого затемнения неровностей поверхности. На самом деле нет необходимости создавать реалистичные материалы в Blender (особенно с Cycles), но вы все равно можете использовать его, чтобы затемнить крошечные тени на поверхности и сделать их более детализированными.

Если вы хотите использовать Для этой карты ее следует перемножить с карты Base Color с помощью узла MixRGB, при этом карта Ambient Occlusion является вторым входом цвета, поэтому вы можете легко контролировать интенсивность его с помощью ползунка узла MixRGB. Этот материал присутствует в каждой используемой вами PBR-текстуре.

Заключительная часть/Подключение всего

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

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