Процедурный материал ткани blender

Все процедурные текстуры в Blender основаны на математике. Даже такие нерегулярные структуры, как Voronoi и Noise, на самом деле сгенерированы по четким математическим формулами. Внутри каждого базового нода из редактора материалов Blender зашит точный математический алгоритм, в результате работы которого и получается нужное изображение.

Задать подобный алгоритм в привычной математической записи в Blender нельзя. Однако среди прочих нодов Blender предоставляет пользователю ноды группы Math – оболочку над простейшими математическими операциями. С помощью этих нодов можно самостоятельно строить сложные математические алгоритмы, генерирующие интересные текстуры.

Для примера сгенерируем текстуру с изображением простого круга.

на которую будем проецировать создаваемую текстуру. Назначим ей дефолтный материал. В редакторе материалов Node Editor, кроме уже имеющихся нодов, добавим ноды Texture Coordinates и Mapping:

shift+a – Input – Texture Coordinate

Соединим выход Object нода Texture Coordinate со входом Vector нода Mapping. Таким образом мы назначаем плоскости систему координат Object, что означает, что центр координат накладываемой текстуры будет совпадать с центом Origin плоскости, а координатные оси текстуры будут направлены так же, как оси плоскости.

Теперь обратим внимание на то, какими исходными данными мы располагаем. Это значения трех координаты X, Y и Z в трехмерном пространстве, которые мы получаем с выхода Vector нода Mapping.

Все процедурные текстуры – трехмерные и описываются не двумя координатами, а тремя. Поэтому в сущности нам нужно построить не круг на плоскости, а сферу в трехмерном пространстве. Сечение сферы по оси Z даст нужный нам круг.

Настало время взять в руки справочник по математике и поискать формулу, связывающую имеющиеся у нас данные о координатах X, Y и Z с необходимой нам формой сферы. Формула легко находится:

Теперь нужно воссоздать эту формулу при помощи нодов в редакторе Node Editor.

Добавим нод, разбивающий Vector на отдельные координаты X, Y, Z:

shift+a – Converter – Separate XYZ

и соединим его с нодом Mapping. Теперь мы имеем доступ к координатам, нужным для построения формулы.

Последовательно по действиям воссоздадим формулу при помощи нодов.

и переключим его в режим вычитания Subtract. В этом режиме из верхнего входящего значения нода вычитается нижнее значение. На верхний вход подадим координату X, нижний вход сделаем равным нулю (X0 = 0) чтобы круг строился из начала координат. Таким образом мы задали часть формулы X – X0.

Добавим еще один нод Math и переключим его в режим Power – возведение в степень. На верхний вход подадим значение Value нода Subtract, нижнее установим равным 2. Таким образом мы возводим X – X0 в квадрат.

Сделаем такие же группы для координат Y и Z.

Для того, чтобы сложить все три части уравнения, добавим еще два нода Math, переключив их в режим Add. Подключим к ним последовательно блоки для всех трех координат.

Подключим выход последнего нода на вход Color нода Diffuse и в окне 3D_View перейдем в режим Rendered для просмотра результата.

Мы получили искомый круг, но он выглядит размытым. Это потому, что мы никак не ограничили правую часть уравнения – радиус.

Между нодом Duffuse и последним нодом Add вставим еще один нод Math и переключим его в режим Less Than. На верхний вход подадим значение нода Add, а второй установим равный 1. Теперь результат вычислений меньший единицы будет равен 1, а все, что больше – равно 0. Таким образом мы получаем точный процедурный круг с радиусом 1.

Итоговое дерево нодов выглядит так:

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

и использовать получившуюся процедурную текстуру с кругом в своих рендерах.

Управлять расположением и размером круга также можно меняя значения в ноде Mapping.

Процедурный материал ткани в Cycles

Как вы уже догадались из названия, в данном уроке мы будем создавать процедурный материал ткани. Это будет один материал с четырьмя различными текстурами для различных типов ткани. На этом со вступительной частью закончим и перейдем непосредственно к уроку.

Текстовый урок

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

В качестве текстуры ткани будет выступать нод Wave texture. Добавьте также ноды Texture Coordinate и Mapping и выставите настройки в соответствии с изображением:

Продублируйте ноды Mapping и Wave texture и измените настройки нода Mapping: вращение по оси Z — 135° и масштаб по оси X — 1:

Теперь смешайте оба паттерна с помощью нода MixRGB (режим Subtract). В итоге мы получим текстуру похожую на ткань:

Так как мы собираемся создать еще несколько паттернов, выделите ноды Mapping, Wave и Mix и объедините их в группу (назовите ее pattern 1 ). Подключите входы Scale обоих нодов Wave к входным значениям группы:

Продублируйте только что созданную группу нодов и переименуйте ее в pattern 2 . Также создайте для нее нового пользователя нажав кнопку 2 справа от названия группы нодов:

Измените масштаб по оси X для первого нода Mapping на 1 и масштаб по оси Y на 0.01. Для первого нода Wave установите все оставшиеся параметры в 0:

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

Установите оба значения Scale равными 80 и на этом мы закончили со вторым паттерном:

Продублируйте вторую группу, установите значения Scale равными 40 и назовите ее pattern 3 :

Теперь займемся созданием паттерна войлока. Добавьте ноды Texture Coordinate и Mapping и измените масштабы последнего по осям X, Y и Z на 7, 10 и 10:

Установите любой цвет для ткани:

На этом урок закончен! Надеюсь он вам понравился. Обязательно поделитесь своими результатами в комментариях.

Свободные программы в офисе и дома

Материалы

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

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

Надо понимать, что во всех программах 3D моделирования объекты состоят всего лишь из бесконечно тонкой виртуальной оболочки соответствующей формы. Эта оболочка сама по себе не имеет каких-либо физических свойств, в том числе и оптических. Процесс назначения материала как раз и состоит в том, чтобы сопоставить нужные свойства с той или иной частью поверхности объекта.

При этом в Blender, да и в других программах тоже, нет возможности присвоить материал просто указав его название, например, стекло, металл, трава и т.п. Это было бы совершенно нерационально. Материалов существует так много, что перечень получился бы огромным. Да и выглядят одни и те же материалы в разных условиях по-разному.

Вместо этого материал требуется «создавать» из набора базовых физических свойств, таких как шероховатость, коэффициент отражения, прозрачность и других. Конечно, это сложнее и требует определенных знаний и опыта. Требуется овладеть инструментами, которые имеются в программе для «создания» материалов. Или, другими словами, для комбинирования базовых физических свойств поверхности. Взамен мы получаем гибкость и возможность добиваться нужного эффекта.

Полученный материал — это всего лишь набор чисел, который используется программой-рендером для расчета прохождения лучей света. Разные рендеры используют разные наборы и разные алгоритмы расчета. Это значит не только то, что результаты также будут отличаться друг от друга, но и то, что материалы, а точнее наборы данных, соответствующие материалам, которые подобраны для одного рендера, не подходят для другого. К сожалению, здесь пока нет стандартов. Реальность такова, что нужный рендер требуется выбрать уже сейчас, сразу после создания объектов, если это не было сделано раньше. Сказанное относится и к источникам света. В каждом рендере их математические модели свои.

Читайте также: Рисунки для вышивания тканью

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

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

Рендеры

Если говорить по-простому, то задача рендера — просчитать пути всех лучей в сцене от всех источников света — до камеры. Расчет проводится с учетом отражения, сквозного прохождения, преломления, изменения интенсивности и других эффектов, которые дают объекты. Задача довольно сложная и ресурсоемкая.

Принято делить все рендеры на два больших класса — физически точные (распространен термин Unbiased Rendering, что означает рендеринг без допущений) и имеющие допущения (Biased Rendering). Предполагается, что первые рассчитывают ход лучей в соответствии с точной физической моделью, а вторые имеют множество упрощений, используют трюки для имитации физики и даже не учитывают некоторые эффекты вообще. На самом деле реальная картина настолько сложна, что ни одна программа сегодня не в состоянии ей соответствовать полностью. Мало того, до сих пор природа некоторых оптических эффектов изучена не до конца, что уж говорить об их математической модели. Поэтому абсолютно точных рендеров не существует.

Тем не менее, условная граница между физически корректными и сильно упрощенными рендерами все же имеется. В первых количество допущений настолько мало, что результат рендеринга выглядит достаточно правдоподобно. Платой за это является большое время рендеринга и/или высокие требования к вычислительной мощности компьютера. Упрощенные рендеры работают намного быстрее, но результат может быть не очень реалистичным.

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

В дальнейшем во всех примерах будет использоваться Cycles Render.

Инструменты для управления физическими свойствами поверхности

Для назначения поверхностям свойств, которые соответствуют каким-либо материалам, можно использовать два различных инструмента. Важно понимать, что оба они делают одно и то же. Мало того, настройки сделанные в одном сразу отображаются в другом.

Первоначально в Blender все настройки материала были сосредоточены в правой Панели свойств и становились доступны при нажатой кнопке Материал. Этот инструмент работает и сейчас (на иллюстрации находится справа). Но постепенно он заменяется на Редактор узлов (на иллюстрации это область слева), который можно отобразить в любом окне, если выбрать для него соответствующий пункт в списке видов (крайний значок слева в строке частного меню окна). Редактор узлов узлов удобнее, нагляднее и обладает бОльшими возможностями, чем то, что имеется в Панели свойств.

Пользователи Blender высоко оценили положительные свойства Редактора узлов, поэтому разработчики постоянно совершенствуют его и планируют сделать основным инструментом не только для управления материалами, но и другими свойствами проекта. Уже сейчас Редактор узлов используется для настройки не только материалов, но и композиции и текстур.

Использование Редактора узлов рассматривается в этом разделе по причине того, что настройка материала позволяет наглядно продемонстрировать свойства этого инструмента и принцип его работы.

На иллюстрации видно, что сразу после создания объектов проект не содержит ни одного материала. Новый материал появится после нажатия кнопки Создать, причем неважно где это сделать — в Редактор узлов или в Панели свойств. Сразу после этого появится материал с названием, которое присваивается автоматически и которое можно изменить после щелчка левой кнопкой мыши в соответствующем поле. Материал присваивается тому объекту, который был в этот момент выделен. Для других объектов этот материал недоступен, но это можно изменить, нажав мышкой справа от материала букву F .

BSDF (Bidirectional Scattering Distribution Function) — двунаправленная функции распределения рассеяния. Это математическая функция, которая определяет вероятность того, что конкретный луч света будет отражен (рассеян).

По умолчанию материал имеет свойства: Диффузный BSDF, цвет белый, шероховатость 0 и некоторые другие. В окне Редактора узлов появились два прямоугольника (для отображения возможно потребуется отметить чекбокс Использовать узлы). Это и есть собственно узлы (nodes, ноды — все эти термины используются в литературе по Blender и являются эквивалентами). Узлы имеют точки разного цвета и соединены линией. Это требует пояснения.

Узлы — это логические объекты, используемые для для управления в данном случае свойствами материалов, такими как цвет, шероховатость, коэффициент отражения и другими. Узлы имеют входы (слева) и выходы (справа). На вход попадает информация о каких-либо характеристиках материала. В узле над этой информацией производятся действия, которые зависят от свойств этого узла. Затем преобразованная информация передается на выход. Узлы можно выстраивать в цепочки для последовательного изменения свойств материала соединяя выходы предыдущих нодов с входами последующих.

Как правило, соединяются сокеты одного цвета. Но далеко не всегда.

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

Один выход может быть соединен с несколькими входами. Соединения входов и выходов показываются гибкими линиями, которые можно «отключать» и «подключать» мышкой. Сами узлы также можно перемещать мышкой по полю для более наглядного их расположения. Кроме того, узлы можно копировать ( Ctrl+C ) и вставлять ( Ctrl+V ).

Вращение колесика мыши изменяет масштаб просмотра всей карты узлов.

Различных узлов довольно много и все время появляются новые. Для правильного и свободного использования необходимо представлять их назначение и возможности. Узлы располагаются в пункте частного меню Добавить. Они сгруппированы здесь по функциональному назначению. Для добавления узла можно использовать также комбинацию клавиш Shift+A .

Шейдеры

Вернемся к иллюстрации, которая была представлена выше. Узел Диффузный BSDF — это и есть материал. Такие узлы имеют собственное название — шейдер. В данном случае шейдер является отдельным программным модулем, в котором заложены свойства материала. Шейдеров не много. Все они сосредоточены в подпункте частного меню Добавить -> Шейдер. Рассмотрим их подробнее. Все приведенные здесь изображения шейдеров, которые имеют логотип Blender, взяты из документации Blender, которая имеется в свободном доступе на сайте проекта. Там можно найти гораздо более подробную информацию о них, да и о других узлах тоже. Ссылка есть в Приложении. Напомним, что речь идет о материалах для Cycles Render, но не для других рендеров.

Диффузный BSDF (Diffuse BSDF) рассеивает свет и дает матовую поверхность.

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

Преломляющий BSDF (Refraction BSDF) — материал дает глянцевое преломление для материалов, которые пропускают свет. Этот узел не следует использоваться сам по себе, лучшие результаты дает смешение с Глянцевым BSDF с помощью узла ввода Френель. Без такой комбинации получатся довольно темные края объекта.

Имеет несколько алгоритмов просчета характера отражения света от микронеровностей.

BSDF стекла (Glass BSDF) материал стекла. Его можно рассматривать как смесь преломления и отражения при скользящих углах. Но для стекла сделан специальный шейдер. Это вызвано тем, что стекло — материал, который постоянно встречается в реальности, его вид всем хорошо знаком. Поэтому малейшие ошибки при создании этого материала, как правило, сразу видны.

Читайте также: В тканях полости рта залегают

Стекло имеет тенденцию вызывать шум из-за каустики. По умолчанию цвет стекла не белый, а чуть сероватый (value = 0.8). Для получения белого надо увеличить интенсивность до 1.

Имеет несколько алгоритмов просчета характера отражения света от микронеровностей.

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

Анизотропный BSDF — в реальном мире этот эффект можно увидеть на отполированных поверхностях с длинными параллельными микроцарапинами. Например, в результате механической обработки при шлифовке в одном направлении. Похожий эффект может возникать на поверхности материалов, состоящих из мелких параллельных волокон.

BSDF бархата (Velvet) — может использоваться для материалов, подобных ткани. Предназначен для использования вместе с другими шейдерами (например, Диффузный BSDF) и не особенно полезен без них.

Toon BSDF — имеет два режима: диффузный (Diffuse) и глянцевый (Glossy). Материал для мультфильмов.

BSSRDF — материал с подповерхностным рассеиванием. Здесь свет проникает на некоторую глубину, а затем переизлучается наружу и освещает поверхность изнутри (кожа, воск, мрамор, молоко).

Используется модель подповерхностного рассеивания SSS (Subsurface Scattering). Свет, проникая через поверхность полупрозрачного материала, рассеивается внутри самого материала и выходит из материала в другой точке. Рассеивание происходит путем многократного отражения в случайном направлении от частиц материала.

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

Дыра (Holdout) — материал с Альфа=0, т.е. полностью прозрачный. Его бывает удобно использовать при композитинге для того, чтобы полностью пропустить лучи света, которые не должны в дальнейшем участвовать в расчетах.

Из сказанного выше уже стало ясно, что шейдеры почти не применяются в одиночку. Реальные материалы почти всегда в той или иной степени обладают свойствами нескольких шейдеров одновременно. Например, материал может быть глянцевым, прозрачным и в то же время анизотропным. Для того, чтобы создать хороший материал, шейдеры обычно требуется комбинировать, а также использовать и узлы других типов. Для получения комбинации двух или более источников предназначены специальные шейдеры Смешать шейдеры (Mix) и Сложить шейдеры (Add).

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

В структуре, которая получается при создании материала, обязательно должен присутствовать узел Вывод материала. Именно он применяет полученный материал к объекту.

Сказанного выше вполне достаточно для создания материала в первом приближении. На иллюстрации ниже видно, что в Редакторе узлов и в Панели свойств виден один и тот же материал. Изображение фигуры шахматного коня в нижней части показано после рендеринга ( F12 ).

Надо помнить, что ни камера, ни освещение пока не настраивались.

Текстуры — общие замечания

Очень часто созданный материал выглядит слишком уж хорошо, просто идеально. В реальности так обычно не бывает. Следы механической обработки, старения, грязи и другие подобные вещи придают предметам ту достоверность, которая и делает их реальными. Мы можем не замечать такие мелочи, но они всегда есть.

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

В Blender имеется возможность применять два вида текстур — процедурные и на основе самостоятельного изображения.


Процедурная текстура (фон).

Текстура-изображение на сфере.

Процедурные текстуры являются трехмерными математическими функциями. Они хорошо подходят для имитации таких поверхностей как дерево, волны, облака и им подобных. Изображение образуется в области пересечения этой трехмерной функции с поверхностью объекта. Интересно, что любые сечения объекта снова дадут изображение текстуры, например, на «распиле» древесины.

Второй тип текстур — это просто картинки, которые берутся из подходящих файлов изображений. Это могут быть фотографии реальных объектов или изображения, предварительно созданные в графическом 2D редакторе. Такие текстуры могут придать трехмерной модели очень правдоподобный вид. Сложность здесь состоит в том, что текстуры-картинки являются двумерными объектами. Эти плоские изображения требуется накладывать на трехмерные поверхности сложной формы. Для этого в Blender применяется методика, которая, связана с использованием развертки 3D объекта.

Использование любых текстур похоже на нанесение рисунка на поверхность объекта. Форма объекта при этом не меняется, хотя рисунок может создавать зрительную иллюзию такого изменения. Например, текстура Волны, наложенная на плоскость, может быть очень похожа на настоящие волны, но плоскость при этом все равно остается плоскостью. Лучи при рендеринге будут отражаться от этой плоскости, а не от «волн». Хотя, если текстура получена при похожем освещении, то она может выглядеть очень реалистично.

Также важно понимать, что текстуры остаются всего лишь картинками. Сами по себе они не обладают свойствами какого-либо материала — не способны давать отблески, преломлять лучи или участвовать в других оптических эффектах. Поэтому текстуры всегда используют вместе с подходящим для поверхности материалом. Мало того, текстуру невозможно наложить на объект не назначив предварительно материал.

Процедурные текстуры

Мы все еще находимся в инструментах создания материалов — и в Редакторе узлов, и в правой Панели свойств. Признаком этого является то, что кнопка Шейдер (для первого) и кнопка Материал (для второго) — нажаты. Эта кнопка выглядит как глянцевый золотистый шар.

Принцип включения процедурных текстур в материалы почти всегда примерно один и тот же — текстура должна воздействовать на какое-либо свойство шейдера. Здесь все определяется опытом, очень могут помочь собственные эксперименты и примеры, которых достаточно в Интернете.

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

Еще один пример — материал для шахматной доски. Пусть это будет дерево. Его структура имеет волнообразный характер и состоит из более темных и более светлых участков. Цвет и чередование участков варьируются в очень широких пределах в зависимости от породы древесины и характера ее обработки. Мало того, «черные» и » белые» шахматные клетки визуально могут сильно отличаться не только друг от друга, но и от самой доски.

Чтобы придать шахматной доске ее привычный вид, надо решить две задачи: создать три подходящих материала и расположить эти материалы на соответствующих им участках. Напомним, что сам объект Шахматная доска был создан в предыдущем разделе.

Обычно одному объекту соответствует один материал. Но для объекта Шахматная доска нужны три. Для того, чтобы добавить материал, надо нажать мышкой знак «+«, который расположен справа в области Слотов материала. После этого его нужно создать как обычно, например, в Редакторе узлов и дать каждому материалу понятное название. На иллюстрации видно, что имеется три материала: для доски и для черных и белых клеток. В подобных случаях материал расположенный сверху считается основным материалом объекта.

Знак «» справа в области Слотов материала удаляет ненужный слот материала.

Материалы можно создавать в Режиме объекта, но в этом случае их можно назначить только всему объекту целиком. Для назначения разных материалов различным частям объекта нужно перейти в Режим правки.

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

В Режиме правки на Панели свойств включается отображение Данных объекта (кнопка в виде треугольника, слева от кнопки материала). После этого нужно выделить все грани (удерживая клавишу Shift ), соответствующие белым клеткам шахматной доски. В данном случае нужны именно грани, но вообще выделять можно и ребра, и вершины. Об инструменте, который управляет этим выбором уже говорилось ранее.

Читайте также: Как сделать фиолетовый цвет из красок акриловых для ткани

После того, как грани выбраны, можно объединить их в группу. Для этого нужно нажать мышкой знак «+«, который расположен справа в области Группы вершин, затем нажать кнопку Назначить, которая расположена ниже. Название группы желательно сразу изменить на более понятное. Кроме кнопки Назначить имеются также кнопки для удаление, выделения или снятия выделения группы.

После того, как такая же операция будет проведена с черными клетками, объект будет иметь две группы граней, которыми можно манипулировать отдельно друг от друга.

Рендер, показанный на иллюстрации, пока основан на материалах, созданных в первом приближении, для предварительной оценки будущего изображения. Освещение еще не настраивалось вовсе.

Текстуры-развертки

В противоположность процедурным текстурам, которые по своей природе являются трехмерными математическими функциями, текстуры-изображения всегда имеют только два измерения, они плоские. Для нанесения таких текстур на поверхность трехмерного объекта в Blender используется метод UV-текстурирования (UV Mapping). Свое название метод получил по обозначению осей координат U и V. Эти оси расположены в плоскости граней, которые образуют поверхность объекта. Каждая грань имеет свои оси U и V. Идея состоит в том, чтобы разбить плоское изображение на части, соответствующие граням объекта, а затем совместить одно с другим. Иначе говоря, требуется получить плоскую развертку объекта, каким бы сложным он ни был, а после этого подогнать изображение к этой плоской фигуре. Координаты U и V нужны для того, чтобы сохранить правильную ориентацию отдельных элементов изображения относительно друг друга.

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

UV-текстурирование (UV Mapping) в Blender почти полностью автоматизировано и выполняется очень просто. Но за простыми действиями скрыты довольно сложные процессы, что иногда вызывает некоторое недопонимание. Данный прием используется часто и поэтому в технике наложения текстур-изображений стоит разобраться. В качестве примера возьмем игральную карту, которая была создана в предыдущем разделе. Процесс наложения текстуры-изображения состоит из четырех этапов.

Сначала создается изображения для текстуры. Это может быть готовая фотография или скан рисунка, возможно после некоторого редактирования. Или это может быть изображение, созданное с нуля в 2D графическом редакторе специально для наложения на поверхность модели. Лучше использовать файлы изображений в формате PNG, который позволяет сохранять прозрачность. Но допустимы и другие форматы.

Подготовленное изображение надо открыть в окне Редактора UV/изображений (UV/Image Editor), выбрав соответствующий пункт в Текущем виде редактора этой области (на иллюстрации обведен красным слева внизу). Изображение открывается с помощью пункта меню Изображение -> Открыть изображение.

На иллюстрации справа видно окно 3D вида с исходным объектом. Видно, что ни размеры, ни пропорции изображения и объекта не совпадают. Однако, это совершенно не является препятствием для нанесения текстуры.

Теперь требуется создать развертку объекта. Процесс похож на разворачивание разрезанной в нескольких местах, бумажной модели на плоской поверхности. UV текстурирование выполняется в окне 3D вида в Режиме правки, при включенной панели Т, которая находится в состоянии Затенение/UV (вкладка отмечена красным овалом). Объекту Карта предварительно назначен материал и ему присвоено название Карта.

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

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

Теперь надо пометить швы, которые пройдут по выделенным ребрам — нажать кнопку Пометить шов на панели Т. При этом швы будут выделены двойной толщиной и сменят цвет на темно-оранжевый. Швы не обязательно должны быть непрерывными — надо исходить из формы модели. Если разрез представляет собой замкнутую линию, то после получения развертки появится остров. Island (острова) — это независимые части UV развертки, полученные после разрезания.

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

Затем нужно нажать слайдер Развертка на панели Т или клавишу U , что то же самое. Появится меню, где надо выбрать нужный метод расчета развертки. Это — самый тонкий момент.

Обычно используется метод Развернуть. Это универсальный метод, который может быть использована для мешей любой формы. Есть методы, которые предназначены для получения разверток основных примитивов — куба, цилиндра, сферы или близких к ним по форме. Для лучшего овладения техникой имеет смысл попробовать разные методы и посмотреть на результат.

После разворачивания в окне Редактора UV/изображений появится развертка, наложенная на открытое ранее изображение. Если изображение развертки увеличить, то станет видно, что оно состоит из отдельных граней, тех самых островов, пока пустых элементов будущей текстуры. В промежутках между ними изображения не будет — наложение плоского изображения на объемную модель всегда сопровождается некоторыми потерями, это естественно. Важно, чтобы эти потери были минимальны.

Как только сделана развертка, Blender автоматически создает UV-текстуру. Текстуре присваивается имя, которое совпадает с именем файла изображения. Под этим именем созданная текстура доступна для всех объектов проекта.

После того, как развертка получена, ее нужно совместить с текстурой-изображением. Для каждой грани (или группы выделенных граней) в окне Редактора UV/изображений действуют клавиши S , G , R . Другими словами, прямо в окне Редактора UV/изображений грани развертки можно масштабировать, перемещать и вращать для получения наилучшего перекрытия ими текстуры-изображения.

После получения и доводки UV-текстуры требуется выполнить операцию, обратную разворачиванию — обернуть текстуру вокруг объекта. Для этого в Редакторе узлов требуется всего лишь указать, что материал использует изображение-текстуру вместо цвета. В окне 3D вида результат будет виден сразу, если установлен режим отображения Материал или С визуализацией.

После этого можно считать наложение текстуры законченным и переключиться в Режим объекта.

Если имеется несколько одинаковых по форме объектов, то не требуется делать для каждого из них свою развертку. Для того, чтобы получить новую UV-текстуру на основе уже имеющейся развертки достаточно в окне Редактора UV/изображений открыть другое изображение с помощью пункта меню Изображение -> Открыть изображение. При этом будет создана еще одна текстура, уже с новым именем. Конечно, при этом каждому объекту надо назначать свой материал со своей текстурой.

У карт имеется вторая сторона — рубашка. Если бы карты имели толщину, то назначить материал рубашки было бы несложно, потому, что обратная сторона была бы в этом случае такой же поверхностью, как и лицевая, но в то же время не совпадала бы с ней. Но карты, которые имеются в данном случае, не имеют толщины. Их лицевая поверхность одновременно является и обратной. В 3D моделировании такие объекты встречаются часто. Если в таком случае все же требуется присвоить сторонам разный материал, то можно воспользоваться следующим приемом.

Прежде всего нужно создать UV-текстуру для обратной стороны. Это делается точно так же, как было показано выше, на основе той же самой развертки.

После этого нужно изменить уже имеющийся материал каждой карты таким образом, чтобы он использовал две UV-текстуры. Одна из них располагается на обратной стороне плоскости с помощью узла Геометрия (Добавить -> Ввод -> Геометрия).

На самом деле материал здесь конечно один. Но он имеет разный рисунок сверху и снизу. Это хорошо видно, если повращать игральную карту мышкой.

  • Свежие записи
    • Балкон в многоквартирном доме: является ли он общедомовым имуществом?
    • Штраф за остекление балкона в 2022: что это и как избежать наказания
    • Штраф за мусор с балкона: сколько заплатить за выбрасывание окурков
    • Оформление балконного окна: выбираем шторы из органзы
    • Как выбрать идеальные шторы для маленькой кухни с балконом
Sunny Lady