Очень часто, UV развертка трехмерных объектов для 3d моделлеров является настоящей головной болью и порой занимает времени больше чем само моделирование. Бывают ситуации, когда модель уже развернута и затекстурирована, но появляется необходимость в изменении геометрии. После чего 3d модели часто приходится делать развертку заново.
В бесплатном 3d редакторе Blender есть инструмент, который позволяет накладывать текстуры равномерно на 3d модель при изменении её геометрии. Этим инструментом является встроенный стандартный модификатор «UV Project». Именно этому модификатору и посвящена данная небольшая статья.
Запускаем Blender. Допустим, нам необходимо смоделировать какой-нибудь дом. Для этого создадим небольшой участок стены, например, длиной 1 метр и высотой 3 метра.
Производим объекту развертку и добавляем текстуру. В данном случае добавлена бесшовная текстура кирпича.
Теперь, если мы начнем моделировать стены далее, например, выдавливанием ребёр, то развертка «поплывёт».
Чтобы при выдавливании, разделении или соединении граней, ребер текстура не «плыла», а накладывалась равномерно автоматически, необходимо добавить модификатор «UV Project».
Добавляем модификатор «UV Project». Заходим на панели справа во вкладку «Modifier» (Модификатор), нажимаем на кнопку «Add Modifier» (Добавить Модификатор) и из появившегося списка в столбце слева выбираем модификатор «UV Project».
Данный модификатор работает следующим образом. Для каждой стороны объекта создается плоскость с заданной площадью текстуры. На эту плоскость и будет ориентироваться наш объект при его деформации.
Рассмотрим это на конкретном примере. Для удобства перейдем на другой слой и добавим плоскость: «Shift+A» => «Plane». Расположим её вертикально аналогично нашей стене: «R» => «X» => «-90». Произведем ей развертку и наложим текстуру.
Теперь перейдём на первый слой, выделим нашу стену и в модификаторе «UV Project» выберем добавленную плоскость. В итоге развертка кирпичей «ляжет» равномерно на нашу стену.
Теперь, если мы будем перемещать или выдавливать ребра параллельно добавленной плоскости, то текстура кирпичей всё равно будет равномерной.
Но, если мы попробуем выдавить ребра перпендикулярно плоскости, то текстура снова «поплывет».
Чтобы это исправить, нужно во втором слое добавить аналогичную плоскость, только горизонтально ориентированную текстурой направленную вверх. Для этого достаточно скопировать плоскость («Shift+D») во втором слое и развернуть её на 90 градусов по оси «Х»: «R» => «X» => «90».
Далее переходим на первый слой, выделяем нашу стену. Затем в Модификаторе «UV Project» добавляем слот для новой плоскости, нажав на кнопку «Projector» и в появившемся слоте выбираем вторую плоскость. Теперь текстура кирпичей располагается равномерно в двух плоскостях.
У трехмерного объекта шесть сторон: спереди, сзади, слева, справа, сверху, снизу. Поэтому для моделирования трехмерных объектов с автоматическим равномерным текстурированием необходимо добавить шесть плоскостей с текстурами аналогично ориентированных. Теперь при изменении геометрии стен в любых направлениях, текстура будет накладываться равномерно автоматически.
Поправлять текстуры (увеличивать площадь, выравнивать их по швам и т.п.) можно перемещением, масштабированием, вращением непосредственно самих плоскостей. Так же можно вертикальную плоскость повернуть на угол 45 градусов, тогда текстура ляжет ровно пол линиям.
На этом урок окончен. Также вы можете почитать другие авторские статьи по трехмерному моделированию:
Перепечатка и использования данного материала без прямой обратной ссылки категорически запрещена!