Распределение текстур
Распределение текстур
Мы рассмотрели общие основы создания и наложения текстур на объекты. Наверняка вы уже успели столкнуться с необходимостью распределения текстур по поверхности объекта. Подобная необходимость возникает при текстурировании постоянно. Дело в том, что площадь изображений текстуры далеко не всегда совпадает с площадью поверхности текстурируемого объекта. В результате — приходится, например, уменьшать размеры накладываемой текстуры, чтобы она отображалась на объекте несколько раз.
Для иллюстрации сказанного привожу такой пример: создается текстура для паркетного пола. Площадь пола — 25 квадратных метров. При создании текстуры используется изображение, содержащее лишь один сегмент узора паркета. Площадь подобного сегмента обычно не превышает половины квадратного метра. Если просто наложить такую текстуру на пол, она растянется по всей модели. Чтобы настроить внешний вид и размеры уже наложенной текстуры — понадобится воспользоваться методами распределения текстуры.
Существует два основных метода распределения текстуры по поверхности объекта:
? при помощи параметров текстуры;
? с использованием модификатора UVW Map (Координаты изображения).
Каждый из этих методов бывает удобен в определенных ситуациях. Рассмотрим оба метода подробно.
Распределение с использованием параметров текстуры
Рассмотрим порядок распределения текстуры по объекту с использованием отдельных ее параметров на конкретном примере создания материала кафельной плитки.
1. В окне проекций Perspective (Перспектива) создайте стандартный примитив Box (Куб). Значения его параметров задайте следующие: Length (Длина) — 35, Width (Ширина) — 270, Height (Высота) — 270. Получилась модель квадратной стены.
2. Раскройте окно редактора материалов. Выберите любой пустой слот, раскройте свиток Maps (Карты) и в качестве карты диффузного цвета выберите изображение из файла Plitka.jpg в папке Primeri_ScenGlava_3Plitka (рис. 3.59).
3. Наложите данную текстуру на примитив в сцене и включите режим отображения текстур в окнах проекций опцией Show Standard Map in Viewport (Отображать стандартную карту в окне проекций) (см. рис. 3.24). В результате — изображение одной плитки покрыло каждую грань примитива (рис. 3.60).
4. Раньше, в случае использования какой-либо карты в отношении любого канала, мы сразу нажимали кнопку Go to Parent (Вернуться вверх), для возврата на уровень редактирования всей текстуры целиком. Сейчас не будем нажимать ее, т. к. нам нужны как раз параметры конкретной карты (если вы уже вернулись на уровень редактирования вверх, щелкните по названию примененной карты, появившемуся вместо надписи "None" справа от названия канала в свитке Maps (Карты)).
5. Прежде всего, нам здесь понадобятся параметры свитка Coordinates (Координаты) (рис. 3.61). И более всего — следующие параметры:
• Offset (Сдвиг);
• Tiling (Мозаичность);
• Angle (Угол).
6. При помощи группы параметров Tiling (Мозаичность), можно настроить количество повторов отображения карты текстуры на поверхности объекта по вертикали и по горизонтали. Первый параметр отвечает за горизонтальное дублирование карты, второй — за вертикальное. Чтобы рассчитать точные значения данных параметров, необходимо знать предполагаемые размеры кафельной плитки. Предположим, размеры плитки — 25?30 см. Размеры стены, на которую мы ее накладываем — 270?270. Следовательно, по горизонтали плитка должна повторяться 270: 25 = 10,8 раз, а по вертикали — 270: 30 = 9 раз. Вводим соответствующие значения в верхний и нижний параметр Tiling (Мозаичность). В результате, плитка уменьшилась и распределилась по поверхности стены (рис. 3.62).
7. Наложенную текстуру также можно перемещать по поверхности объекта. Для этого воспользуемся группой параметров Offset (Сдвиг). Уменьшая или увеличивая значения двух параметров Offset (Сдвиг), вы перемещаете текстуру по вертикали и по горизонтали.
8. Параметры Angle (Угол) позволяют вращать текстуру во всех направлениях. В нашем случае следует воспользоваться W-координатой для наклона текстуры. Разумеется, нет смысла наклонять текстуру кафельной настенной плитки. Но, например, если бы мы создавали текстуру напольной плитки или паркета, то их можно было бы расположить под углом в 45 градусов.
Таким образом, при помощи параметров текстуры можно распределять ее по поверхности объекта. Данный метод имеет два существенных минуса, в результате чего применяется не так часто:
? При распределении текстуры, созданной на основе нескольких карт (например, карты диффузного цвета и карты непрозрачности), приходится настраивать параметры каждой карты, иначе они не будут совпадать в пространстве. Например, если бы та же самая текстура плитки была создана с использованием карты рельефа, то необходимо было бы поочередно задавать одинаковые значения соответствующих параметров карты диффузного цвета с изображением плитки и карты рельефа с черно-белым изображением рельефных областей.
? При изменении перечисленных параметров, мы воздействуем на саму текстуру, а не на текстурируемый объект. Это означает, что количество раз отображения (Tiling), сдвиг (Offset) и наклон (Angle) текстуры остаются неизменными при наложении на объект, отличающийся по габаритным размерам. Это приведет к искажению размеров текстуры. В результате — под каждый очередной объект вы вынуждены будете создавать новую текстуру.
Распределение модификатором UVW Map (Координаты изображения)
Второй способ распределения текстуры по объекту гораздо более удобен и универсален. В дальнейшем, на практике, мы будем использовать преимущественно его.
Суть данного метода заключается в использовании специального модификатора, позволяющего влиять не на саму текстуру, а лишь на объект или совокупность объектов, в отношении которых она применяется. В результате — можно использовать одну и ту же текстуру на разных по форме и габаритным размерам объектах.
В главе 2 мы рассматривали некоторые модификаторы (Extrude, Face Extrude…). Я отмечал, что модификаторы бывают разные в зависимости от сферы и цели применения. Здесь мы рассмотрим модификатор распределения текстуры — UVW Map (Координаты изображения) на примере распределения текстуры декоративного камня.
1. Создайте в окне проекций Perspective (Перспектива) примитив Box (Куб). Значения его длины, ширины и высоты задайте одинаковыми — примерно 200 см. Это — подопытный куб, по которому мы будем распределять текстуру.
2. Откройте окно редактора материалов, выделите любой пустой слот и при помощи опций свитка Maps (Карты) задайте изображение из файла Kamen.jpg в папке Primeri_ScenGlava_3Kamen в качестве карты диффузного цвета.
3. Наложите данную текстуру на куб в сцене. Включите режим отображения материала в окнах проекций при помощи инструмента Show Standard Map in Viewport (Отображать стандартную карту в окне проекций). В результате — получился куб, как на рис. 3.63.
4. Закройте окно редактирования материалов, оно больше не понадобится. Выделите куб в сцене, перейдите во второй раздел командной панели, раскройте список модификаторов (Modifier List) (см. рис. 2.21) и выберите здесь пункт UVW Map (Координаты изображения).
5. Внешний вид материала на объекте немного изменился, а под стеком модификаторов появился свиток Parameters (Параметры), который содержит три основные группы параметров, позволяющих распределять материал по объекту: параметры способа наложения текстуры, параметры габаритных размеров контейнера текстуры, параметры повторения текстуры (рис. 3.64). Рассмотрим порядок работы с данными группами параметров.
• Варианты способа наложения текстуры на объект позволяют указать, как именно следует покрыть объект материалом. Выбор конкретного варианта здесь зависит от формы текстурируемого объекта. Например, если объект — это обычная плоскость, то подойдет вариант Planar (Плоский), если объект сферический — подойдет Spherical (Сферический), если объект кубический — подойдет Box (Кубический) и т. д. В нашем случае — объект кубический, поэтому выберите здесь вариант Box (Кубический). Если форма текстурируемого объекта не может быть описана какой-либо примитивной фигурой (например, при текстурировании мягкого кресла), то следует также выбирать тип Box (Кубический).
• Вторая группа параметров — параметры габаритных размеров контейнера текстуры позволяет задать размеры изображения материала. Как только вы применили модификатор UVW Map (Координаты изображения), в сцене появился оранжевый габаритный контейнер. Теперь текстура на самом деле накладывается именно на этот контейнер, а с него уже проецируется на текстурируемый объект. При помощи данной группы параметров, можно менять размеры габаритного контейнера, а вместе с ним и размеры текстуры на поверхности объекта. Задайте значения всех трех параметров габаритных размеров контейнера равными 78 см. Теперь изображение на поверхности объекта стало мельче и повторяться чаще.
• Последняя группа параметров — повторения текстуры. Они позволяют задавать количество раз повторения текстуры внутри оранжевого габаритного контейнера. Увеличивая значения данных параметров, мы делаем текстуры мельче в определенных направлениях. Как правило, размеры текстуры удобнее задавать при помощи предыдущей группы параметров (особенно если известны точные размеры материала). В нашем случае — значения этих параметров лучше оставить равными единице.
6. Итак, при помощи параметров модификатора UVW Map (Координаты изображения), вы настроили размеры изображения материала (рис. 3.65). Далее рассмотрим порядок перемещения текстуры по поверхности объекта.
7. В стеке модификаторов нажмите кнопку с изображением маленького плюса — слева от названия примененного модификатора UVW Map (Координаты изображения). Раскроется структура данного модификатора, в которой присутствует лишь один пункт — Gizmo (Габаритный контейнер) (рис. 3.66). Выделите данный пункт.
8. Теперь вы находитесь в режиме редактирования позиции габаритного контейнера текстуры. Его можно двигать, вращать и масштабировать при помощи соответствующих манипуляторов (с которыми мы работали в главе 1). В шаге 5 вы уменьшили размеры габаритного контейнера до 48 см во всех направлениях, поэтому он стал меньше текстурируемого объекта и расположился в центре него. Например, если вы хотите, чтобы распределение текстуры началось от левого нижнего угла определенной грани, поместите в эту точку габаритный контейнер при помощи манипулятора движения (Select and Move). Обратите внимание, что во время движения габаритного контейнера, аналогичным образом двигается и текстура по объекту. Если текстуру необходимо, например, повернуть на 45 градусов, это можно сделать при помощи манипулятора вращения и окна точного ввода значений вращения. Закончив редактирование позиции контейнера, выйдите из режима его редактирования повторным нажатием по строчке "Gizmo" в стеке модификаторов.
Итак, при помощи модификатора UVW Map (Координаты изображения), мы изменили размер и позицию наложенного материала на конкретном объекте. При этом мы никак не затрагивали параметры самой текстуры, что позволяет в дальнейшем накладывать ее на другие объекты и также распределять. Поэтому данный метод является гораздо более удобным, чем предыдущий.
Подсказка.
Модификатор UVW Map (Координаты изображения) можно применять в отношении не только какого-то объекта, но и в отношении совокупности объектов одновременно. Создайте несколько объектов в сцене и выполните все вышеперечисленные действия в отношении них сразу (т. е. сначала выделите их вместе при помощи рамки, затем примените модификатор UVW Map (Координаты изображения) и так далее по шагам). В результате — материал будет одновременно распределяться по всем объектам сразу. Это очень удобно при текстурировании составных объектов. Например, вы создали модель мягкого дивана. Эта модель состоит из нескольких более простых по форме объектов. При текстурировании имеет смысл выделить их вместе, применить единый модификатор UVW Map (Координаты изображения) и затем применять конкретную текстуру матерчатой обивки дивана. Таким образом, на каждом элементе дивана материал будет расположен одинаково.
Данный текст является ознакомительным фрагментом.