Карты текстур
Следующим шагом в работе над сценой будет замена созданных базовых материалов текстурами. Обычно этот термин относится к двумерным изображениям, воспроизводящим рисунок той или иной поверхности, обернутой вокруг трехмерного объекта. Их проекция на поверхность может осуществляться различными способами.
Проекционные координаты
Проекционные координаты, которые иногда также называют UV-координатами, указывают способ размещения двумерного рисунка на поверхности модели, причем способ зависит от того, создана ли модель на основе NURBS-кривых или же на основе полигонов. В первом случае модель снабжена встроенной системой проекционных координат. Так как NURBS-поверхности по определению являются параметрическими, карта текстуры автоматически следует всем изгибам этой поверхности. Впрочем, даже в этом случае существует возможность редактирования проекционных координат, что позволяет изменить положение и ориентацию текстуры на поверхности объекта.
Для полигональных поверхностей обычно используются проекционные координаты нескольких типов: Planar (Плоские), Cylindrical (Цилиндрические), Spherical (Сферические). Кроме того, используется особый метод, называемый автоматическим проецированием. Как можно ожидать, применение проекционных координат типа Planar (Плоские) приводит к размыванию рисунка в областях, перпендикулярных направлению проецирования. Создается впечатление, что решить проблему можно с помощью цилиндрических и сферических проекционных координат. Но они имеют точки сингулярности, расположенные на полюсах сферы и цилиндра, в которых карта текстуры сходится в одну точку.
В общем случае желательно выбирать проекционные координаты, максимально совпадающие с формой поверхности. Кроме того, в процессе анимации можно скрыть область сингулярности. В самых сложных случаях проблема решается путем использования различных наборов проекционных координат и тщательного редактирования положения текстуры на поверхности.
Интерактивное размещение текстуры
Проще всего редактировать положение текстуры непосредственно на поверхности объекта.
Поэтому в Maya существует возможность интерактивного размещения текстуры. Благодаря этой функции можно наблюдать, как выглядит рисунок по мере перемещения, поворота и масштабирования управляющих векторов положения текстуры. Осуществить интерактивное размещение текстуры можно только в случае, если хотя бы для одного из окон проекции включено аппаратное размещение текстур. Выберите в меню оперативного доступа команду Shading > Hardware Texturing (Затенение > Аппаратное наложение текстур) или нажмите клавишу 6. Эта даст вам возможность увидеть результат назначения карты текстуры непосредственно в окне проекции.
Процедурные карты текстур
Кроме текстур, полученных путем сканирования фотографий реальных объектов, существуют процедурные карты текстур (procedural textures), генерируемые математически. Многие материалы, например кирпич, черепица или градиентная заливка, имеют повторяющуюся структуру, которая легко может быть представлена уравнением. Также математически можно имитировать мрамор, кожу, воду, гранит и многие другие сложные материалы с непериодической структурой. Процедурные текстуры в Maya представлены в двух вариациях — двумерные и трехмерные. Двумерные карты текстур можно представить как созданные на основе математических формул растровые изображения. Однако сформированное двумерное изображение обычно проецируется на поверхность трехмерного объекта. Соответственно, в этом случае приходится иметь дело со всеми проблемами, возникающими при использовании обычных текстур. Рисунок трехмерных карт текстур меняется в пространстве, и вы видите изображение, образующееся при пересечении текстуры с поверхностью объекта. Это похоже на вырезание фигуры из блока мрамора. Поэтому при работе с процедурными картами не требуются проекционные координаты. Но если к объекту применены деформации, создается впечатление, что карта текстуры соскальзывает с поверхности объекта. Для исправления ситуации в этом случае в Maya используется дополнительная функция Texture Reference Object (Ссылочный объект для текстуры).
Она позволяет деформировать текстуры вместе с поверхностью.
Процедурные карты текстур имеют ряд преимуществ. Так как они создаются на основе математических формул, редактированием их параметров можно создавать различные эффекты. Благодаря возможности генерации случайного шумового процесса создаются материалы с рисунком в виде областей случайной формы и яркости. Кроме того, поскольку текстурные карты существуют во всех точках трехмерного пространства, их можно использовать для формирования материалов сложных объектов, подбор проекционных координат для которых является весьма трудоемкой задачей.
Двумерные карты текстур
Двумерные процедурные карты текстур в Maya делятся на две категории: карты с повторяющимся рисунком и карты со случайным рисунком. К первым относятся Grid (Решетка), Checker (Шахматное поле), Bulge (Выпуклости), Cloth (Ткань) и Ramp (Линейный градиент). С помощью этих карт можно создать рисунок кирпичной стены, черепицы и других материалов с периодической структурой, созданных руками человека. В число карт со случайным рисунком входят Fractal (Фрактал), Mountain (Горы), Noise (Шум) и Water (Вода). На основе этих псевдослучайных текстур удобно создавать имитацию природных поверхностей.
Трехмерные карты текстур
Все трехмерные процедурные карты текстур, кроме карты Snow (Снег), относятся к картам со случайным рисунком. Некоторые из них, например Wood (Дерево) или Marble (Мрамор), идеально имитируют природные материалы. Даже при моделировании объектов, созданных руками человека, не обойтись без этих карт. Имитация мозаики, ковровых покрытий или картины, нарисованной кистью на стене, происходит на основе именно трехмерных карт текстур.
Упражнение. Назначение текстур
Это упражнение посвящено назначению некоторым характеристикам материалов карт текстур и редактированию положения этих карт на поверхности объекта. Вы можете продолжить работу над сценой, полученной в результате выполнения первого упражнения данной главы.
Вам понадобятся как оба окна рабочей области, так и область создания узлов. Щелкните правой кнопкой мыши на верхней панели области создания узлов и выберите в появившемся меню вариант Create Materials (Создание материалов). Средней кнопкой мыши перетащите образец раскраски Blinn (По Блинну) в нижнее окно рабочей области и дважды щелкните на нем, чтобы открыть окно диалога Attribute Editor (Редактор атрибутов).
Рис. 8.12. Окно диалога Create Render Node содержит все возможные типы карт текстур
Обратите внимание, что рисунок в виде шахматной доски на расположенной справа кнопке сменился указывающей вправо стрелкой. Это значит, что цвет материала был заменен картой текстуры. Нажмите эту кнопку, чтобы посмотреть на параметры карты текстуры Checker (Шахматное поле).
Рис. 8.13. Раздел Checker Attribute в окне диалога Attribute Editor
ПРИМЕЧАНИЕ
Чтобы после назначения текстуры вернуться к исходному узлу, нажмите кнопку с указывающей вправо стрелкой, расположенную справа от названия материала в верхней части окна диалога Attribute Editor (Редактор атрибутов). Для отмены назначения текстуры характеристике материала щелкните на имени этой характеристики правой кнопкой мыши и выберите в появившемся контекстном меню команду Break Connection (Разорвать связь).
Присвойте материалу имя m4fshUd. Нажмите кнопку с рисунком шахматной доски, расположенную справа от имени параметра Color (Цвет), и в окне диалога Create Render Node (Создать узел визуализации) щелкните на кнопке с надписью File (Файл) в разделе 2D Textures (Двумерные текстуры). Справа от текстового поля Image Name (Имя изображения) находится кнопка со значком папки, щелчок на которой приводит к появлению окна диалога, предназначенного для выбора файла с рисунком. Перетащите средней кнопкой мыши материал m4fshild из верхнего окна рабочей области на объект, имеющий форму щита. В результате на его поверхности появится искаженная текстура. Объект Shield получен из сетки полигонов методом вращения. Проекционные координаты расположены по кругу в направлении вращения сплайна. Но нам нужно, чтобы надпись располагалась поперек щита, поэтому потребуется создать для него новые проекционные координаты.
Рис. 8.14. Управляющие векторы плоских проекционных координат были слегка отодвинуты от объекта для большей наглядности. Чтобы сделать их видимыми, нужно щелкнуть на красной букве L, расположенной в углу манипулятора
Рис. 8.15. Результат визуализации сцены после редактирования положения карты текстуры на поверхности объекта Shield. Обратите внимание, что в режиме тонированной раскраски стеклянное кольцо стало невидимым
СОВЕТ
Если нужно вернуть управляющие векторы, отвечающие за положение текстуры, выделите объект, откройте окно каналов, нажав комбинацию клавиш Shift+C, и щелкните на строчке polyPlanarProj. Если в результате управляющие векторы не появились, выберите в меню оперативного доступа команду Display > UI Elements > Tool Box (Отображение > Элементы интерфейса > Панель инструментов), нажмите шестую сверху кнопку Show Manipulator (Отображение манипулятора) и повторите щелчок на названии polyPlanarProj.