Анизотропная раскраска используется для имитации деформированных поверхностей, например смятой фольги или покореженного пластика. Термин «анизотропный» означает наличие свойств, зависящих от направления. Соответственно, форма зеркальных бликов в этом типе раскраски зависит от направления поверхности. В отличие от вариантов раскраски Phong (По Фонгу) и ВИпп (По Блинну), в данном случае зеркальные блики равномерно распределены по поверхности и имеют нерегулярную форму. Раскраска типа Anisotropic (Анизотропная) используется при имитации поверхностей с желобками, например поверхности компакт-диска. Ее вид показан на изображении снизу.
Как и все объекты в Maya, раскраски состоят из узлов. В каждом из этих узлов вид раскраски определяется атрибутами. Вот краткий перечень основных атрибутов, с которыми вам придется иметь дело:
Color (Цвет). RGB- или VHS-значение, определяющее цвет материала при освещении нейтральным светом. Дополнительную информацию о цветовых моделях RGB и VHS вы найдете в главе 1.
Transparency (Прозрачность). Чем выше значение этого параметра, тем более прозрачным будет объект. Обычно прозрачность выражается в оттенках серого, где черный соответствует полностью непрозрачному материалу, а белый, соответственно, — полностью прозрачному, но при этом существует возможность назначить этому параметру определенный цвет. При назначении атрибуту Transparency (Прозрачность) какого-либо цвета основной цвет модели меняется, так как определенное RGB-значение теперь является прозрачным.
Ambient Color (Цвет подсветки). Определяет цвет материала в области тени, где он освещается только рассеянным светом. В общем случае желательно оставлять значение этого параметра равным нулю, что соответствует черному цвету. Отличный от черного цвет подсветки уменьшает контрастность объекта после визуализации. В результате объект выглядит более плоским.
Incandescence (Свечение). Управляет способностью объекта к свечению. Соответственно, материал с повышенным значением данного параметра назначается испускающим свет объектам, например лампочке. На общей освещенности сцены эта операция никак не сказывается. Кроме того, с помощью параметра Incandescence (Свечение) можно получить совершенно плоские и одноцветные объекты.
Bump Mapping (Карта рельефа). Создает впечатление наличия рельефа на поверхности объекта путем добавления к визуализированному изображению бликов и теней. При этом геометрия поверхности не меняется. Таким способом хорошо имитировать бороздки, царапины, выступы и т. п. Атрибуту Bump Mapping (Карта рельефа) обычно сопоставляется карта текстуры, например Ramp (Линейный градиент), Fractal (Фрактал), Noise (Шум), или даже изображение из файла. Чем больше различие в оттенках цвета карты, тем убедительней будет рельеф. Карты рельефа часто используются для придания поверхностям достоверного вида, ведь в реальном мире абсолютно гладких поверхностей не существует.
Diffuse (Цвет диффузного рассеяния). Определяет количество света, отражаемого поверхностью объекта во всех направлениях. Чем выше значение данного параметра, тем ярче будет выглядеть освещенная поверхность. Соответственно, чем ниже это значение, тем больше света отражает поверхность. Металлы имеют очень низкое значение параметра Diffuse (Цвет диффузного рассеяния).
Translucence (Просвечивание) и Translucence Focus (Фокусировка просвечивания). Отвечают за способность материала пропускать свет. Если параметр Translucence (Просвечивание) имеет значение 1, все световые лучи проходят сквозь поверхность объекта. При значении 0 поверхность задерживает все падающие на нее лучи. Параметр Translucence Focus (Фокусировка просвечивания) используется для настройки способа отражения света от поверхности. Его низкие значения приводят к интенсивному рассеиванию света и появлению мягкого, размытого эффекта просвечивания. Пропускающие свет материалы, например лист бумаги, будут иметь высокие значения данного параметра.
Glow Intensity (Интенсивность свечения). Ползунок этого параметра располагается в разделе Special Effects (Эффекты) окна диалога Attribute Editor (Редактор атрибутов) и позволяет добавлять к объекту эффект сияния. Этот эффект напоминает свет в тумане.
Раскрывающийся список Matte Opacity Mode (Режим матового непрозрачного) и ползунок Matte Opacity (Матовый непрозрачный). Визуализируемые в Maya объекты представляют собой матовое покрытие. Если область пространства занята объектом, это покрытие имеет белый цвет, в противном случае его цвет черный. Это свойство позволяет отделить визуализированные элементы компьютерной графики от фона, что частенько требуется на стадии монтажа. Ползунок же управляет яркостью матового покрытия, расположенного за объектом, делая его более прозрачным. Обычно это используется на стадии монтажа для того, чтобы объект, визуализированный в режиме RGB, не появлялся в итоговой композиции. Дополнительную информацию об этом свойстве вы получите в этой главе, а также в главе 11.
ПРИМЕЧАНИЕ
Как вы узнали в главе 1, файлы изображений сохраняются с каналами красного, зеленого и синего цветов, в которых содержится информация о каждом пикселе сцены. Некоторые форматы, в том числе TIFF и TARGA, оснащены также альфа-каналом, называемым еще каналом прозрачности. Этот канал содержит информацию в оттенках серого, определяющую прозрачность изображения. Белые участки альфа-канала соответствуют полностью непрозрачным областям, в то время как черные — полностью прозрачным. Серый же цвет соответствует частичной прозрачности. Эта информация незаменима на стадии монтажа, как вам предстоит убедиться в главе 11.
Raytrace Options (Параметры трассирования). В этом разделе собран набор атрибутов, управляющих процессом трассирования, который используется для формирования эффектов отражения и преломления. Дополнительную информацию по этой теме вы получите в главе 11.
Некоторые из атрибутов доступны только для определенных типов раскраски. Вот атрибуты для раскрасок Phong (По Фонгу), Phong E (Расширенная по Фонгу) и Blinn (По Блинну):
Specular Color (Цвет зеркальных бликов). Управляет цветом бликов блестящей поверхности. Черный цвет соответствует отсутствию бликов, а белый дает блики максимальной яркости.
Reflectivity (Отражательная способность). Задает яркость отражения окружающих объектов поверхностью зеркального материала. Чем выше его значение, тем лучше поверхность отражает окружающие объекты. Увеличение данного параметра увеличивает влияние атрибута Reflected Color (Цвет отраженного света).
Reflected Color (Цвет отраженного света). Создает отражения на поверхности. Этому атрибуту обычно назначается карта текстуры, что и приводит к появлению отражений на поверхности объекта. Это позволяет избежать формирования реальных отражений, обычно требующего значительных временных затрат.
Cosine Power (Размер бликов). Доступен только для варианта раскраски Phong (По Фонгу). Этот атрибут меняет размер зеркального блика на поверхности. Чем выше его значение, тем меньше будет блик.
Roughness (Шероховатость), Highlight Size (Размер бликов) и Whiteness (Белизна). Управляют формой зеркальных бликов в варианте раскраски Phong E (Расширенная по Фонгу). Данные параметры контролируют фокус зеркального блика, его размер и цвет.
Для рукоятки алебарды замечательно подойдет блестящее красное дерево, для имитации которого нам также потребуется раскраска Phong (По Фонгу):
1. В меню Create (Создать) окна диалога Hypershade (Редактор узлов) выберите команду Materials > Phong (Материалы > По Фонгу). В окне диалога Attribute Editor (Редактор атрибутов) введите в поля Diffuse (Цвет диффузного рассеяния) и Cosine Power (Размер бликов) значения 0,7 и 50 соответственно. Параметру Specular Color (Цвет зеркальных бликов) присвойте светло-серый цвет.
Рис. 7.6. Атрибуты текстуры Wood в окне диалога Attribute Editor
2. Щелкните на кнопке с рисунком шахматной доски, расположенной справа от ползунка Color (Цвет). В разделе 3D Textures (Трехмерные текстуры) появившегося окна диалога Create Render Node (Создать узел визуализации) щелкните на кнопке Wood (Дерево). Атрибуты этой текстуры в окне диалога Attribute Editor (Редактор атрибутов) показаны на рис. 7.6.
3. Щелкните на поле образца цвета Filler Color (Цвет заливки) и введите в поля Hue (Цветовой тон), Saturation (Насыщенность) и Value (Интенсивность) окна диалога Color Chooser (Выбор цвета) значения 8,5, 0,85 и 0,43 соответственно, чтобы получить красно-коричневый цвет. Затем щелкните на поле образца цвета Vein Color (Цвет прожилок) и введите в поля Hue (Цветовой тон), Saturation (Насыщенность) и Value (Интенсивность) значения 8,5, 0,75 и 0,08 соответственно. Вы получите более темную версию предыдущего цвета.
4. Параметру Vein Spread (Разброс прожилок) присвойте значение 0,7, а параметру Layer Size (Размер слоя) — значение 0,119. Ползунок Grain Color (Цвет зерна) немного переместите влево. В результате получится замечательная имитация красного дерева.
Текстура Wood (Дерево) относится к процедурным трехмерным текстурам. Она проецируется на объект с помощью узла размещения, как и текстура Env Chrome (Хромовое зеркало), с помощью которой мы формировали отражения на поверхности металла. Выделите рукоятку алебарды, щелкните на образце материала правой кнопкой мыши и выберите в появившемся меню команду Assign Material to Selection (Назначить материал выделенному объекту). Более подробную информацию о процедурных текстурах вы получите в разделе «Узлы текстуры» этой главы.
СОВЕТ
Существуют и другие способы назначения материалов. Например, можно средней кнопкой мыши перетащить материал из ячейки образца на объект в окне проекции.
5. Чтобы увидеть темную текстуру на поверхности объекта, создадим дополнительный источник света. Выберите в меню Create (Создать) команду Lights > Ambient Light (Источники света > Рассеянный) и нажмите комбинацию клавиш Ctrl+a, чтобы открыть для нового осветителя окно диалога Attribute Editor (Редактор атрибутов). Присвойте параметру Intensity (Интенсивность) значение 2,5.
6. Сосредоточьтесь на рукоятке алебарды и визуализируйте сцену (рис. 7.7). Обратите внимание на то, что повторение текстуры на поверхности объекта приводит к появлению странного и неестественного рисунка. Значит, нам нужно отредактировать расположение текстуры.
Рис. 7.7. Заданное по умолчанию количество повторений текстуры слишком велико
7. Для получения доступа к узлу размещения текстуры Wood (Дерево) откройте окно диалога Hypershade (Редактор узлов). Средней кнопкой мыши перетащите образец материала на вкладку Work Area (Рабочая область) нижнего окна, щелкните на ней правой кнопкой мыши и выберите в появившемся меню команду Graph Network (Сеть узлов). Альтернативным способом является выделение ячей-к .с образцом материала и щелчок на кнопке Input Connections (Входные связи) на панели инструментов окна диалога Hypershade (Редактор узлов). Появится сеть узлов материала, показанная на рис. 7.8. Узел place3dTexture2 соединен с узлом wood2 и содержит информацию о положении текстуры на поверхности объекта. Узел wood2, в свою очередь, соединен с узлом материала phong3 и служит картой текстуры, назначенной атрибуту Color (Цвет).
Рис. 7.8. Сеть узлов материала на основе текстуры Wood
8. Дважды щелкните на узле place3dTexture2, чтобы открыть для него окно диалога Attribute Editor (Редактор атрибутов).
9. Щелкните на кнопке Fit to group bbox (Совместить с габаритным контейнером группы), чтобы автоматически расположить узел размещения текстуры Wood (Дерево) вокруг рукоятки. В окне проекции Perspective (Перспектива) появится зеленый габаритный контейнер узла размещения (рис. 7.9).
Рис. 7.9. Узел размещения текстуры Wood
10. Визуализация сцены покажет, что текстура на поверхности объекта до сих пор выглядит неправильно. Поверните узел размещения текстуры в окне проекции Perspective (Перспектива) на 90° относительно оси Z и снова щелкните на кнопке Fit to group bbox (Совместить с габаритным контейнером группы), чтобы совместить узел с контурами рукоятки. Это не приведет к отмене результатов преобразования поворота, а всего лишь изменит форму узла.
11. Визуализируйте сцену и обратите внимание на направление прожилок текстуры. Теперь они идут вдоль рукоятки, что увеличивает достоверность материала. Однако желательно расположить прожилки чуть дальше друг от друга.
Визуализировать сцену после каждого изменения вида текстуры не совсем удобно. Поэтому воспользуемся функцией интерактивной фотореалистичной визуализации, позволяющей наблюдать результаты редактирования в реальном времени. Щелкните на кнопке IPR Render the Current Frame (Интерактивная фотореалистичная визуализация текущего кадра) в строке состояния или выберите одноименную команду в меню Render (Визуализация). Результат визуализации появится в окне диалога Render View (Визуализатор) вместе с предложением выделить область, которая будет обновляться в процессе редактирования материала. Нарисуйте рамку вокруг рукоятки алебарды. Визуализатор тут же обновит эту часть окна. Теперь изображение в указанной области будет обновляться после внесения любых изменений в материал рукоятки.
12. Выделите узел размещения текстуры и поменяйте его масштаб таким образом, чтобы прожилки располагались довольно далеко друг от друга. Наш вариант окончательного вида текстуры показан на рис. 7.10.
Для сравнения вы можете загрузить файл axe_texture_B.mb с прилагаемого к книге компакт-диска.
Назначение материалов
Типы раскрасок
Раскраска по Ламберту
Раскраска по Фонгу
Раскраска по Блинну
Расширенная раскраска по Фонгу
Анизотропная раскраска
Многослойная раскраска
Градиентная раскраска
Атрибуты материалов
Создание материалов для модели алебарды
Металлический материал для топора
Деревянная рукоятка
Металлический наконечник
Заключительное преобразование текстур
Текстуры и поверхности
Проекционные координаты
Проецирование текстуры на поверхность
Узлы текстуры
Проекционные координаты для полигональных сеток
Подведем итоги
Текстура Ramp (Линейный градиент) может быть назначена практически любому атрибуту материала. Она используется для создания плавных переходов между цветами и, как вы убедитесь в главе 12, может применяться даже для управления частицами. Эта текстура не только позволяет моделировать цветовые переходы, но и управляет прозрачностью, свечением и тому подобными эффектами. Вам еще предстоит подробно познакомиться с ней при выполнении упражнений данной главы.
Градиентная раскраска содержит набор узлов текстуры Ramp (Линейный градиент), присоединенных к различным атрибутам. Это избавляет вас от необходимости назначать данную текстуру вручную и упрощает редактирование материала. Ведь все управляющие элементы в данном случае находятся на одной вкладке окна диалога Attribute Editor (Редактор атрибутов) (рис. 7.1).
Для создания нового перехода достаточно щелкнуть в произвольном месте цветового градиента. Цвет редактируется с помощью цветового поля Selected Color (Выделенный цвет). Выделяется цвет щелчком на кружке, расположенном над градиентом. Перемещая этот кружок влево или вправо, вы меняете положение выбранного цвета в пространстве. Для удаления цвета достаточно щелкнуть на квадратике, расположенном под градиентом.
Рис. 7.1. Окно диалога Attribute Editor для материала на основе градиентной раскраски
В градиентной раскраске текстура Ramp (Линейный градиент) автоматически присоединяется к атрибутам Color (Цвет), Transparency (Прозрачность), Incandescence (Свечение), Specular Color (Цвет зеркальных бликов), Reflectivity (Отражательная способность) и Environment (Окружающая среда). Кроме того, специальный градиент присоединен к атрибуту Specular Roll Off (Сила блеска). Он позволяет более точно контролировать процесс уменьшения яркости зеркальных бликов на поверхности объекта.
Начнем процесс создания материалов с указания параметров визуализации. Это связано с тем, что в процессе редактирования вам не раз придется оценивать вид материала путем визуализации сцены.
1. Выберите в меню Window > Rendering Editors (Окно > Редакторы визуализации) команду Render Globals (Общие параметры визуализации) или щелкните на кнопке Display Render Globals Window (Maya Software) (Отобразить окно с общими параметрами визуализации (Программный визуализатор)) в строке состояния, чтобы вызвать окно диалога Render Global Settings (Общие параметры визуализации). По умолчанию оно открыто на вкладке Common (Общие). Убедитесь в том, что в раскрывающемся списке Render Using (Визуализировать с помощью) выбран вариант Maya Software (Программный визуализатор).
2. В раскрывающемся списке Presets (Предустановленные значения) в разделе Resolution (Разрешение) выберите вариант 640 х 480. Перейдите на вкладку Maya Software (Программный визуализатор) и в разделе Anti-aliasing Quality (Качество сглаживания) выберите в раскрывающемся списке Quality (Качество) вариант Intermediate Quality (Промежуточное качество). Это сократит время тестовой визуализации.
3. Создать материал, имитирующий металл, можно двумя способами:
Откройте окно диалога Hypershade (Редактор узлов) и щелкните на значке Phong (По Фонгу) на вкладке Create Maya Nodes (Создание узлов Maya). На верхней и нижней вкладках рабочей области появится изображение нового материала на основе раскраски Phong (По Фонгу).
Откройте окно диалога Multilister (Список узлов) и выберите в меню Edit (Правка) команду Create (Создать), чтобы открыть окно диалога Create Render Node (Создать узел визуализации). Перейдите на вкладку Materials (Материалы) и щелкните на кнопке Phong (По Фонгу). На вкладке Materials (Материалы) окна диалога Multilister (Список узлов) появится значок нового материала.
Окна диалога Multilister и Hypershade
Окна диалога Multilister (Список узлов) и Hypershade (Редактор узлов) выполняют одну и ту же задачу, используя при этом разные способы представления информации. В окне диалога Multilister (Список узлов) узлы материалов представлены в табличном виде, в то время как окно диалога Hypershade (Редактор узлов) дает дополнительные возможности размещения материалов и создания связей между входными и выходными узлами. На вкладке General (Общие) окна диалога Multilister (Список узлов) образцы материалов представлены в виде групп тонирования (shading group), а в окне диалога Hypershade (Редактор узлов) показаны узлы материалов (material node). Группой тонирования называется узел, назначающий материал поверхности, в то время как узел материала несет информацию о его свойствах, например цвете, прозрачности, зеркальных бликах и т. п. В окне диалога Hypershade (Редактор узлов) по умолчанию показываются только узлы материалов, так как группы тонирования редактируются крайне редко. Чтобы сделать эти группы видимыми, нужно выделить узел материала и щелкнуть на кнопке Output Connections (Выходные связи) на панели инструментов окна диалога Hypershade (Редактор узлов). В окне диалога Multilister (Список узлов) просмотр узлов материала осуществляется на вкладке Materials (Материалы). Кроме того, можно щелкнуть на стрелке, расположенной в нижнем правом углу значков с образцами групп тонирования на вкладке General (Общие).
4. Дважды щелкните на значке нового материала, чтобы открыть для него окно диалога Attribute Editor (Редактор атрибутов).
5. Щелкните на цветовом поле Color (Цвет), чтобы открыть окно диалога Color Chooser (Выбор цвета). Вам нужно присвоить этому атрибуту серо-голубой цвет. Введите в поля Hue (Цветовой тон), Saturation (Насыщенность) и Value (Интенсивность) значения 207, 0,085 и 0,8 соответственно и щелкните на кнопке Accept (Принять).
6. Щелкните на поле образца цвета Specular Color (Цвет зеркальных бликов). Этот параметр контролирует цвет и яркость зеркальных бликов на поверхности объекта. Введите в поля Hue (Цветовой тон), Saturation (Насыщенность) и Value (Интенсивность) значения 208, 0,2 и 0,9 соответственно.
7. Увеличьте размер зеркальных бликов, введя в поле Cosine Power (Размер бликов) значение 2. В результате появится широкая область ярких зеркальных бликов, которая обычно присуща полированным отражающим поверхностям.
8. Выделите лопасть и обух и в окне диалога Hypershade (Редактор узлов) щелкните правой кнопкой мыши на образце материала. Выберите в появившемся меню команду Assign Material to Selection (Назначить материал выделенному объекту). В окне диалога Multilister (Список узлов) для этой цели используется команда Assign (Назначить) из меню Edit (Правка). Вид материала в обоих окнах диалога показан на рис. 7.2.
Рис. 7.2. Узел материала, имитирующего металл, в окнах диалога Hypershade и Multilister
9. Убедитесь в том, что у вас активно именно окно диалога Perspective (Перспектива), и щелкните на кнопке Render Current Frame (Визуализировать текущий кадр) в строке состояния. Поменяйте ориентацию алебарды в окне проекции и снова визуализируйте сцену. Проделайте эту операцию несколько раз, чтобы оценить, как выглядит металл при освещении встроенными источниками света.
Пока что вы получили простую имитацию металлической поверхности. Чтобы сделать ее более достоверной, нужно заставить поверхность отражать окружающую обстановку. Для этого используется узел текстуры окружающей среды. Этот узел проецирует содержащееся в нем изображение на указанный пользователем атрибут материала. В результате при перемещении объекта в пространстве его поверхность отражает различные части текстурного изображения.
10. Щелкните на кнопке с рисунком шахматной доски, расположенной справа от ползунка Reflected Color (Цвет отраженного света) (рис. 7.3). Эта операция требуется для присоединения нового узла, ответственного за создание отражений. В результате появится окно диалога Create Render Node (Создать узел визуализации). Щелкните на кнопке Env Chrome (Хромовое зеркало) в разделе Environment Textures (Карты текстуры окружающей среды). Присоединенная текстура вызовет появление интересных отражений.
Рис. 7.3. Чтобы добавить текстуру атрибуту материала, щелкните на кнопке с рисунком шахматной доски, расположенной справа от имени этого атрибута
11. В верхней части окна диалога Attribute Editor (Редактор атрибутов) слева от кнопки Presets (Предустановленные значения) находится кнопка Go to Output Connection (Перейти к выходным связям), отмеченная изображением указывающей вправо стрелки. Щелкните на ней, чтобы вернуться к редактированию основных атрибутов материала, и введите в поле Reflectivity (Отражательная способность) значение 0,85. Чем выше значение этого параметра, тем лучше карта текстуры, заданная атрибутом Reflected Color (Цвет отраженного света), будет отражаться в поверхности. На рис. 7.4 показан вид топора до и после назначения атрибуту Reflected Color (Цвет отраженного света) текстуры Env Chrome (Хромовое зеркало). Эта текстура создает впечатление полированной поверхности топора путем формирования отражений сетки, представляющей земную поверхность, и ярко-голубого неба.
Рис. 7.4. Вид топора до и после формирования отражений
После назначения текстуры Env Chrome (Хромовое зеркало) в начале координат появится зеленый каркас (рис. 7.5). Это узел размещения данной текстуры. Он допускает преобразования, как и любой другой объект Maya. Иными словами, вы можете его двигать, вращать и менять его размер.
Рис. 7.5. Узел размещения текстуры используется для управления положением и размером текстуры в сцене
Преобразования этого узла приведут к изменению проекции текстуры. Например, увеличение размера узла размещения приведет к увеличению размера сетки, отражающейся в поверхности лопасти. Дополнительную информацию об этом вы найдете в разделе «Узлы текстуры» этой главы.
В данный момент вся рукоятка, включая наконечник, выглядит как красное дерево. Но наконечник на самом деле не деревянный, а металлический.
Рис. 7.10. Вид рукоятки алебарды после масштабирования текстуры
Придать ему нужную раскраску можно двумя способами — изменением геометрии и редактированием материала. В первом случае требуется выделить горизонтальную изопараметрическую кривую на границе наконечника и рукоятки и разъединить поверхности, превратив наконечник в отдельный объект. Затем остается назначить ему соответствующий материал.
Этот подход приведет к появлению в сцене дополнительной геометрии, что в общем случае нежелательно. Да и возможность разъединить поверхности в нужном месте имеется не всегда.
Поэтому мы воспользуемся раскраской типа Layered (Многослойная), позволяющей создавать комбинацию из набора материалов. Управлять показом слоев можно с помощью параметра Transparency (Прозрачность) или карт прозрачности. Переход между деревянной и металлической частями будет реализован с помощью текстуры Ramp (Линейный градиент).
Процесс создания многослойного материала выглядит следующим образом:
1. Выделите рукоятку алебарды и выберите в меню Lighting/Shading (Освеще-ниеНазначение материалов) команду Assign New Material > Layered Shader (Назначить новый материал > Многослойная раскраска). Окно диалога Attribute Editor (Редактор атрибутов) для этого материала показано на рис. 7.11. По умолчанию наверху располагается слой зеленого цвета. В окне диалога Attribute Editor (Редактор атрибутов) он находится слева.
СОВЕТ
Выбор в меню Lighting/Shading (Освещение/Назначение материалов) команды Assign New Material (Назначить новый материал) позволяет создать и назначить материал, не прибегая к окнам диалога Hypershade (Редактор узлов) и Multilister (Список узлов).
2. Средней кнопкой мыши перетащите материал, имитирующий дерево, из окна диалога Hypershade (Редактор узлов) в верхнюю часть окна диалога Attribute Editor (Редактор атрибутов). Для удаления заданного по умолчанию зеленого материала достаточно щелкнуть на расположенном под его образцом квадратике.
3. Средней кнопкой мыши перетащите в окно диалога Attribute Editor (Редактор атрибутов) материал, имитирующий металл. Он должен располагаться правее материала, имитирующего дерево. Изменить порядок следования материалов можно, перетаскивая их средней кнопкой мыши слева направо. Обратите внимание на то, что теперь в верхнем слое находится материал Wood (рис. 7.12). Это означает, что в данный момент вся рукоятка будет деревянной.
Рис. 7.11. Заданные по умолчанию параметры раскраски Layered в окне диалога Attribute Editor
Рис. 7.12. Многослойная раскраска, в верхнем слое которой находится материал, имитирующий дерево
СОВЕТ
Чтобы увидеть имя слоя, достаточно навести на образец материала указатель мыши.
4. Щелчком выделите образец материала Wood в окне диалога Attribute Editor (Редактор атрибутов). Обратите внимание на то, что на кнопках, расположенных справа от ползунков Color (Цвет) и Transparency (Прозрачность), теперь находится не рисунок шахматной доски, а квадрат со стрелкой. Щелкните на кнопке, расположенной справа от ползунка Transparency (Прозрачность), чтобы вернуться к списку параметров текстуры Wood.
После назначения атрибуту карты текстуры рисунок шахматной доски на кнопке сменится изображением квадрата со стрелкой. Щелчок на этой кнопке открывает вкладку окна диалога Attribute Editor (Редактор атрибутов) с параметрами узла, присоединенного к рассматриваемому атрибуту. В данном случае произошел переход к параметрам текстуры Wood. Именно здесь произойдет присоединение прозрачного градиента, который будет управлять видимостью слоев.
5. Щелкните на кнопке с рисунком шахматной доски, расположенной справа от ползунка Transparency (Прозрачность), а затем щелкните на кнопке Ramp (Линейный градиент) в окне диалога Create Render Node (Создать узел визуализации). Но прежде убедитесь в том, что переключатель в верхней части раздела 2D Textures (Двумерные текстуры) стоит в положении Normal (Нормально).
6. В раскрывающемся списке Interpolation (Интерполяция) в разделе Ramp Attributes (Атрибуты градиента) выберите вариант None (Отсутствует). В раскрывающемся списке Туре (Тип градиента) выберите вариант U Ramp (Градиент по U-координате).
7. Щелкните на центральном квадратике (зеленого цвета), чтобы удалить данный цветовой переход. Щелчком выделите нижний (красный) кружок и измените цвет атрибута Selected Color (Выделенный цвет) на белый. Мышью перетащите кружок, а следовательно, и границу цвета немного вверх.
8. Выделите верхний (синий) кружок и измените цвет атрибута Selected Color (Выделенный цвет) на черный. Перетащите его вниз. В поле Selected Position (Положение выделенного цвета) должно появиться значение 0,105 (рис. 7.13). Если окно проекции Perspective (Перспектива) находится в режиме показа текстур (он включается нажатием клавиши 6), вы увидите, что шип рукоятки приобрел синеватый цвет металла, в то время как снизу осталось красное дерево. Подвигайте белый маркер и обратите внимание на то, как при этом меняется граница между материалами.
Рис. 7.13. Результат назначения текстуры Ramp атрибуту Transparency материала Wood
9. Выберите в меню Edit (Правка) окна диалога Hypershade (Редактор узлов) команду Delete Unused Nodes (Удалить неиспользуемые узлы). Это приведет к исчезновению всех материалов, которые не были назначены объектам.
10. Визуализируйте сцену и щелкните на кнопке Keep Image (Сохранить изображение) на панели окна диалога Render View (Визуализатор). В нижней части этого окна проявится полоса прокрутки, что даст вам возможность в дальнейшем сравнить сохраненное изображение со вновь полученным.
И. Выделите верхний узел алебарды и в окне проекции Perspective (Перспектива) поверните объект на 45° вокруг оси Z. Снова визуализируйте сцену. Обратите внимание на то, как изменится текстура дерева. Воспользуйтесь полосой прокрутки, чтобы сравнить два изображения (рис. 7.14).
Рис. 7.14. Вид назначенной объекту текстуры меняется в процессе преобразования поворота
Что делать, если объект перемещается, а назначенная ему текстура остается на месте? Она проецируется с помощью узла размещения, следовательно, нужно сделать его дочерним по отношению к верхнему узлу объекта.
12. Верните алебарду в исходное положение и в окне диалога Outliner (Структура) выделите узел place3dTexture2. Следите за тем, чтобы не выделить вместо него узел размещения текстуры Env Chrome (Хромовое зеркало), имеющий похожее название. Средней кнопкой мыши перетащите его в группу Ахе_2.
Готовая модель топора с назначенными материалами находится в файле axe_te-xture_C.mb на прилагаемом к книге компакт-диске.
Итак, назначение материалов закончено. Благодаря многослойному материалу вам не пришлось создавать дополнительную геометрию, чтобы сформировать металлический наконечник алебарды. Материалы способны значительно улучшить вид любой модели. Как вы уже убедились, иногда с их помощью удается избежать увеличения количества геометрии в сцене. По мере накопления вами опыта в данной области поиск эффективных решений подобных проблем значительно упростится.
Загрузите модель катапульты, полученную в главе 5, и самостоятельно создайте материалы для всех ее частей. Поэкспериментируйте с различными вариантами текстур и потренируйтесь в размещении их на поверхности объекта.
Многослойная раскраска позволяет совмещать раскраски различных типов, получая таким способом композиции из материалов. С ее помощью вы можете назначить различным частям объекта различные материалы, избежав при этом создания излишней геометрии.
Управление отдельными слоями осуществляется с помощью карт прозрачности, определяющих, в каких областях будет показан каждый из компонентов. Узлы соответствующих материалов просто перетаскиваются в верхнюю часть окна диалога Attribute Editor (Редактор атрибутов). При этом в верхнем слое оказывается крайний левый узел.
Многослойная раскраска превосходно подходит для создания материалов с надписями или имитации загрязнения. Вы получите практический навык работы с ней при выполнении упражнений данной главы.
Назначение материалов подразумевает присвоение объекту видимого при визуализации цвета, рельефа, прозрачности, зеркальных бликов и других характеристик поверхности. С этим процессом тесно связано назначение текстур, то есть Процесс сопоставления определенного рисунка выбранному атрибуту материала. Этот способ позволяет даже имитировать детали на поверхности объекта. Например, назначив атрибуту Color (Цвет) изображение кирпичей, вы, по сути, назначите материалу карту текстуры. Назначение еще одной отсканированной фотографии с изображением впадин и выпуклостей той же самой кирпичной стены атрибуту Bump Mapping (Карта рельефа) также рассматривается как назначение текстуры. Из-за того, что текстуры могут быть сопоставлены различным атрибутам материала, процесс назначения материалов объектам часто называют назначением текстур.
В основе материалов лежат узлы, каждый из которых содержит определяющие материал атрибуты. При работе с материалами, как и при работе с иерархическими цепочками и группами объектов, приходится создавать сети связанных друг с другом узлов. Эти сети могут быть сколь угодно сложными и содержать произвольное количество узлов визуализации.
Каждый вариант раскраски, также называемый группой тонирования, включает в себя набор узлов материала. Узлы материала содержат всю информацию, относящуюся к визуализации объекта. Группа тонирования представляет собой узлы, соединяющие материал с поверхностью, для которой он создан. Редактируя раскраску в окне диалога Attribute Editor (Редактор атрибутов), вы редактируете узел материала.
В этой главе вам предстоит работать в основном с инструментом Hypershade (Редактор узлов), с которым вы знакомы по главе 3. Доступ к нему осуществляется через меню Window > Rendering Editors (Окно > Редакторы визуализации). Это окно диалога предназначено для создания и редактирования материалов.
Материалы в Maya обычно назначаются параллельно освещению сцены, о котором мы поговорим в главе 10. Редактируются текстуры уже после окончательного освещения сцены. Ведь вид материалов зависит именно от их освещения. Поэтому в упражнениях данной главы вам предстоит создать не только материалы, но и набор источников света.
В большинстве случаев разместить текстуру на поверхности объекта удается с помощью проекционных координат, но иногда приходится прибегать и к другим методам. Например, при назначении материалов сеткам полигонов текстуры обычно назначаются методом проецирования, то есть изображение из файла, градиент или другой рисунок разными способами отображаются на поверхности объекта.
Вы можете создать любой узел текстуры как с нормальными проекционными координатами, так и в виде проецируемого изображения. Метод выбирается с помощью переключателя, расположенного в верхней части окна диалога Create Render Node (Создать узел визуализации). По умолчанию он установлен в положение Normal (Нормально), то есть текстура на поверхности объекта размещается с помощью UV-координат. Если же установить его в положение As Projection (Как проекцию), текстура будет проецироваться на поверхность.
Во втором случае к узлу текстуры присоединяется еще один узел. Он определяет метод проецирования вместе с узлом размещения в пространстве, с которым вы уже знакомы из упражнений. Выделите узел проецирования. В окне диалога Attribute Editor (Редактор атрибутов) можно задать тип проекции (рис. 7.15).
Правильный выбор типа проекции позволяет спроецировать текстуру на поверхность с минимальными искажениями. Например, плоская проекция текстуры на поверхность сферы деформирует края изображения, растянув их до бесконечности по бокам сферы.
Рис. 7.15. Вид узла проецирования в окне диалога Attribute Editor
Откройте новую сцену и создайте NURBS-сферу и NURBS-конус, расположив их рядом. Назначьте обоим объектам материал на основе раскраски ВИпп (По Блинну). В окне диалога Attribute Editor (Редактор атрибутов) присвойте атрибуту Color (Цвет) этого материала текстуру Checker (Шахматное поле). Перед этим убедитесь, что переключатель в верхней части окна диалога Create Render Node (Создать узел визуализации) стоит в положении Normal (Нормально). Текстура на поверхности объектов будет размещена с помощью проекционных координат. Результат показан на крайнем левом изображении.
Теперь удалим карту текстуры из материала. В окне диалога Attribute Editor (Редактор атрибутов) для назначенного объектам материала щелкните правой кнопкой мыши на имени атрибута Color (Цвет) и выберите в появившемся меню команду Break Connection (Разорвать связь). В результате материал приобретет исходный серый цвет. Теперь повторите назначение текстуры Checker (Шахматное поле) атрибуту Color (Цвет), но на этот раз установите переключатель в окне диалога Create Render Node (Создать узел визуализации) в положение As Projection (Как проекцию). На центральной иллюстрации показано окно проекции Perspective (Перспектива) в режиме показа текстур (он включается нажатием клавиши 6). На рисунке находятся два объекта и узел размещения текстуры на плоскости. Подвигайте этот узел и понаблюдайте, как при этом меняется вид текстуры. Результат визуализации этих объектов показан на крайнем справа изображении. Самостоятельно поэкспериментируйте с различными вариантами проекции, выбирая их в раскрывающемся списке Proj Type (Тип проекции) в окне диалога Attribute Editor (Редактор атрибутов).
Узлы размещения текстуры управляют положением проецируемой карты на поверхности объекта. Выбрав для сферы вариант проецирования Spherical (Сферический) и сняв флажки Wrap U (Повторения по U) и Wrap V (Повторения по V) в разделе 2d Texture Placement Attributes (Атрибуты двумерного размещения текстуры) окна диалога Attribute Editor (Редактор атрибутов), вы увидите, как манипуляции узлом places dTextu re влияют на вид текстуры на поверхности объекта.
Не забывайте о том, что, кроме стандартных преобразований Move (Переместить), Rotate (Повернуть) и Scale (Масштабировать), вы можете воспользоваться преобразованием Show Manipulator (Показать манипулятор), которое активизируется нажатием клавиши Т. Вид манипулятора для плоской проекции показан на рис. 7.16.
Рис. 7.16. Инструмент Show Manipulator для плоской проекции
Подвигайте управляющие векторы специального манипулятора, меняя область покрытия текстуры, ее ориентацию и размер. Каждый из типов проекции оснащен своим манипулятором. На рис. 7.17 показан специальный манипулятор, превращающий текстуру Checker (Шахматное поле) в набор обернутых вокруг сферы полосок.
Короче говоря, вид проецируемой текстуры зависит от способа проецирования и ее положения на поверхности объекта.
Основой трехмерного пространства является декартова система координат с осями X, Y и Z. Поверхности тоже оснащены координатной системой с осями U и V, предназначенной для размещения текстур. Их также принято называть проекционными координатами. Значения координат U и V лежат в диапазоне от 0 до 1, а точка с координатами (0, 0) считается началом поверхности.
Объекты-примитивы в момент создания оснащаются встроенной системой UV-координат, но иногда, особенно во время работы с полигональными сетками, приходится прибегать к ее редактированию. В некоторых случаях лучше воспользоваться проецированием текстуры на сетку, так как редактирование ее формы приводит к смещению проекционных координат.
Исправить положение текстуры на поверхности объекта можно с помощью узла размещения. Более подробную информацию по этой теме вы получите в разделе «Узлы текстуры» данной главы.
Назначение материалов на основе карт текстуры сеткам полигонов может включать процесс определения проекционных координат, поэтому во многих случаях текстуру проще нарисовать. NURBS-поверхности не создают пользователю подобных проблем, так как в момент своего появления они уже оснащены встроенными проекционными координатами. В начальной точке такой поверхности UV-координаты имеют значение (0, 0), соответственно, диаметрально противоположная точка имеет координаты (1, 1). Рисуя в Photoshop изображение с разрешением 800 х 600, имеет смысл предположить, что первый пиксел изображения, имеющий координаты X = 0 и У= 0, точно совпадет с координатой (0, 0) на NURBS-поверхности, а диаметрально противоположная точка совпадет с координатой (1, 1). В результате процесс наложения растрового изображения на NURBS-поверхность становится достаточно очевидным. Нижняя часть изображения совпадет с нижней частью поверхности, и наоборот. На рис. 7.20 показан результат назначения NURBS-плоскости и NURBS-сфере материала на основе растровой текстуры. Стороны изображения, отмеченные текстом, соответствуют сторонам NURBS-плоскости. Так как сфера получена сверткой поверхности, точка начала координат находится на одном из полюсов, а нижний и верхний края изображения состыкованы.
К сожалению, для сеток полигонов такая простая операция часто невозможна. Пользователю приходится создавать свои проекционные координаты с учетом рельефа поверхности. В большинстве случаев это сложный и требующий больших временных затрат процесс, поэтому лучше воспользоваться другими методами.
Рис. 7.20. Результат назначения NURBS-примитивам текстуры, полученной на основе растрового изображения
Загрузите файл pear_texture_v01.mb из папки \ChapterFiles\Lighting\scenes прилагаемого к книге компакт-диска. Сцена содержит полигональную модель груши, с которой вам еще придется иметь дело в дальнейших упражнениях. Выделите грушу. В меню Panels (Панели) одного из окон ортографической проекции выберите команду Panel > UV Texture Editor (Панель > Редактор проекционных координат). Это окно диалога займет место выбранного окна проекции, и вы увидите проекцию на плоскости назначенной выбранному объекту текстуры (на изображении слева).
На практике для создания текстуры полигональному объекту потребуется нарисовать изображение таким образом, чтобы его цвета и пикселы были выровнены с проекцией текстуры, которую вы видите в окне диалога UV Texture Editor (Редактор проекционных координат). Пока что там показывается проекция назначенных по умолчанию UV-координат, с которыми не очень удобно работать. Следовательно, нужно их поменять.
Нажмите клавишу F3 для перехода в режим Modeling (Моделирование) и выберите в меню Texture (Текстура) команду Cylindrical Mapping (Цилиндрические проекционные координаты). Это приведет к появлению вокруг груши узла цилиндрической проекции, а соответственно, и нового варианта развертки проекционных координат в окне диалога UV Texture Editor (Редактор проекционных координат). Однако новая карта текстуры немного широковата и не помещается в UV-пространстве, как показано на изображении справа.
Выберите в меню Polygons (Полигоны) окна диалога UV Texture Editor (Редактор проекционных координат) команду Normalize UV (Нормализовать проекционные координаты).
Чтобы посмотреть, как выглядит развертка текстуры в Photoshop, убедитесь в том, что груша по-прежнему выделена, и щелкните на квадратике, расположенном справа от команды UV Snapshot (Снимок проекционных координат) в меню Polygons (Полигоны) окна диалога UV Texture Editor (Редактор проекционных координат). В появившемся окне диалога укажите папку, в которую будет сохранен файл с изображением, и введите в ноля Size X (Размер по Х-координате) и Size Y (Размер по Y-координате) значение 512. В раскрывающемся списке Image Format (Формат изображения) выберите вариант TIFF и щелкните на кнопке ОК.
Вид полученного изображения в окне редактора Photoshop показан на рис. 7.21.
Открыв файл с изображением пространства проекционных координат в Photoshop или другом графическом редакторе, используйте его в качестве чертежа, на основе которого нужно выполнить раскраску объекта. Действуйте, как при раскраске куска фольги, который будет обернут вокруг настоящей груши. Это гарантирует, что груша в результате окажется зеленой, а черенок — коричневым.
Рис. 7.21. Пространство проекционных координат груши, сохраненное в виде TIFF-файла и используемое в качестве опорного рисунка
Достаточно создать для груши корректный материал, например на основе раскраски Blinn (По Блинну), и импортировать файл с нарисованной в Photoshop раскраской груши, назначив его атрибуту Color (Цвет). Результат визуализации полученного таким способом объекта показан на рис. 7.22.
Рис. 7.22. Результат назначения груше нарисованной в Photoshop текстуры
По мере усложнения полигональной модели усложняется и ее пространство текстуры. Впрочем, в данный момент важно, чтобы вы поняли общую методику работы с полигональными объектами. Скорее всего, она вам потребуется, когда вы будете намного более опытным в моделировании и назначении материалов человеком.
Названная по имени ее создателя (Джеймса Блинна) раскраска Blinn (По Блинну) отличается большими зеркальными бликами, имеющими четкую форму, и дополнительными элементами управления видом этих бликов. Этот вариант раскраски имеет смысл использовать при имитации блестящих и металлических поверхностей.
Блики в случае раскраски по Блинну выглядят не такими большими и неестественно яркими, как при раскраске типа Phong (По Фонгу). Их вид показан на верхнем изображении.
Раскраска Phong (По Фонгу), названная в честь разработавшего ее в 1975 г. By Тонг-Фонга, соответствует поверхности, формирующей зеркальные блики. Примерами этой раскраски могут послужить такие материалы, как пластик, стекло и большинство металлов.
Отражение света такой поверхностью приводит к появлению ярких зеркальных бликов с четкими краями, как показано на изображении справа.
Наиболее распространенным типом раскраски является Lambert (По Ламберту), имитирующий равномерно распределенный цвет тусклых или матовых поверхностей. К примеру, лист бумаги демонстрирует нам именно этот тип раскраски.
Объект, которому назначен материал на основе раскраски Lambert (По Ламберту), равномерно рассеивает свет всей своей поверхностью, как показано на изображении слева.
Вариант раскраски Phong (По Фонгу) в свое время был усовершенствован созданием дополнительных элементов управления видом зеркальных бликов. В этом варианте раскраски — он называется Phong E (Расширенная по Фонгу) — блики имеют более мягкую форму, чем при раскраске по Фонгу, но в то же время очерчены более четко, чем в случае раскраски по Блинну. Параметры расширенной раскраски по Фонгу позволяют воспроизводить металлический эффект. Вид возникающих в этом случае бликов показан на центральном изображении.
В этом разделе для модели алебарды, созданной в главе 4, будут назначены материалы. В следующей главе готовая алебарда будет импортирована в сцену с анимацией. Это обычная практика. Сначала анимация осуществляется на примере простой модели, затем в сцену импортируется ее окончательный вариант с назначенными материалами.
Загрузите файл axe_texture_A.mb из папки ChapterFiles\Axe_Model\scenes прилагаемого к книге компакт-диска или воспользуйтесь своей моделью, полученной в главе 4.
Начнем с создания текстуры для лопасти и обуха топора. Металл является одним из самых сложных для создания и освещения материалов, так как на вид реальных металлических объектов влияют отражающиеся в их поверхности элементы окружающей среды.
На сайте фирмы Alias можно найти набор уже готовых материалов, имитирующих металлические поверхности. Кроме того, компакт-диск с дистрибутивом Maya содержит библиотеку материалов. Но мы рассмотрим процесс создания материала с нуля.
Проверка геометрии
Перед началом работы по созданию текстур выделите верхний узел алебарды в окне диалога Outliner (Структура) и попытайтесь переместить и повернуть ее. Если вы воспользовались файлом с компакт-диска, окажется, что объект преобразуется по частям, а не как единое целое. Это обусловлено историей его конструирования, которая фиксировалась для некоторых поверхностей. Наличие таких поверхностей в составе группы приводит к двойным преобразованиям. Это означает, что поверхность с историей конструирования перемещается не только потому, что перемещается родительский по отношению к ней узел, но еще и потому, что этого требует история ее конструирования. Выделите узел Back_Axe, расположенный под узлом Ахе_2, и выберите в меню Edit (Правка) команду Delete by Type > History (Удалить объекты типа > История). Затем выделите узел Front_Axe_Head и проделайте для него ту же операцию. После этого объект Ахе_2 начнет перемещаться как одно целое.
Карты текстуры назначаются различным атрибутам объекта. Существуют два вида текстур — процедурные и растровые. Первые используют встроенные узлы Maya для создания различных эффектов, например градиента, рисунка шахматной доски или фрактального шума. Рисунок процедурной текстуры изменяется редактированием ее атрибутов.
Растровой текстурой называется файл с изображением, импортируемый в сцену через узел файла текстуры. Эти файлы создаются в графических редакторах и содержат нарисованные или отсканированные изображения. Вам остается только правильно разместить текстуру на поверхности объекта. Для этого используются проекционные координаты или операция проецирования.
Откройте окно диалога Hypershade (Редактор узлов), выбрав одноименную команду в меню Window > Rendering Editors (Окно > Редакторы визуализации). В левом столбце вы увидите перечень узлов Maya, имеющих отношение к созданию материалов. Первый раздел называется Surface (Поверхность) и содержит узлы различных раскрасок.
Пять вариантов раскраски встречаются и в других приложениях для создания компьютерной графики. С двумя из них вы подробно познакомитесь в этой главе.
Чтобы лучше понять, что представляет собой раскраска, поговорим о том, какие же факторы обусловливают вид объекта.
Прежде всего, это свет. Отражаясь от поверхности, он определяет, как будет выглядеть объект. Например, на поверхность могут быть нанесены пигменты, влияющие на частоту волны отражаемого света. А человеческий глаз воспринимает различные длины волн света как различные цвета. Кроме того, на отражение света влияют и другие детали поверхности.
Тип раскраски определяется именно способом отражения света от поверхности. В большинстве случаев падающий луч света распространяется по поверхности объекта. Кроме того, в некоторых случаях эти лучи формируют яркое пятно, называемое зеркальным бликом. Раскраски в Maya различаются видом зеркальных бликов. Знакомство с различными типами раскрасок должно изменить ваш взгляд на предметы. Старайтесь понять, к какому типу относится тот или иной материал, и представить способ его моделирования.
В этом разделе мы рассмотрим наиболее важные типы узлов текстуры в Maya. При этом все узлы текстуры имеют общие атрибуты, влияющие на их окончательный вид. Откройте окно диалога Attribute Editor (Редактор атрибутов) для любого узла текстуры.
Параметры двух верхних разделов определяют цветовой баланс текстуры. Вот их краткое описание:
Color Balance (Цветовой баланс). Набор атрибутов этого раздела управляет яркостью и цветовым балансом текстуры. Здесь вы можете придать текстуре нужные цвет и яркость, не меняя параметров самого материала.
Рис. 7.17. Манипулятор, обертывающий текстуру Checker вокруг сферы: слева— вид в окне проекции Perspective; справа— результат визуализации
Effects (Эффекты). Установка флажка Invert (Обратить) позволяет изменить порядок цветового пространства текстуры. Белый цвет сменится черным, а черный — белым. Это касается и RGB-значений остальных цветов.
Назначить текстуру можно практически любому атрибуту материала. И даже почти незаметные текстуры, назначенные атрибутам Bump (Рельефность), Specular Color (Цвет зеркальных бликов) или Color (Цвет), делают вид поверхности более достоверным.
Узлы place2dTexture
Двумерные текстуры создаются одновременно с узлами размещения их на плоскости, которые управляют кратностью текстуры, ее ориентацией, размером, смещением и т. п. Окно диалога Attribute Editor (Редактор атрибутов) для одного из таких узлов показано на рис. 7.18. Редактируя его параметры, вы меняете положение узла в сети. С подобным подходом вы уже сталкивались при размещений текстуры дерева на поверхности алебарды.
Параметр Repeat UV (Повторение по UV-ко-ординатам) определяет количество повторений текстуры. Чем больше его значение, тем мель- че будет выглядеть текстура, но тем большее число раз она появится на поверхности.
Флажки Wrap U (Повторения по U) и Wrap V (Повторения по V) определяют, будет ли текстура распространяться на всю поверхность. Если их снять, текстура появится только один раз, остальная же часть поверхности будет залита материалом, цвет которого определяется параметром Default Color (Цвет по умолчанию) из раздела Color Balance (Цветовой баланс), расположенного в окне диалога Attribute Editor (Редактор атрибутов) на вкладке с параметрами выбранной текстуры.
Рис. 7.18. Узел размещения текстуры на плоскости в окне диалога Attribute Editor
Флажки Mirror U (Зеркальные отражения по U) и Mirror V (Зеркальные отражения по V) определяют, будет ли в процессе повторения зеркально изменяться ориентация рисунка текстуры. Параметры Coverage (Область покрытия), Translate Frame (Смещение текстуры) и Rotate Frame (Поворот текстуры) определяют положение текстуры на поверхности объекта. Обычно они используются для размещения растровых изображений, полученных, например, сканированием.
Текстура Ramp
Текстура Ramp (Линейный градиент), как следует из ее названия, представляет собой переход от одного цвета к другому. Вы уже имели возможность оценить удобство работы с ней при знакомстве с раскраской типа Layered (Многослойная). Параметры этой текстуры в окне диалога Attribute Editor (Редактор атрибутов) показаны на рис. 7.19.
Расположенные слева от градиента кружки используются для выделения цвета. Кроме того, их перемещение смещает границу цветового перехода. Щелчок на любом из расположенных справа от градиента квадратиков удаляет выбранный цвет. Для создания нового цветового перехода достаточно щелкнуть в произвольном месте градиента.
ПРИМЕЧАНИЕ
Текстура Ramp (Линейный градиент) отличается от градиентной раскраски. В составе последней фигурируют несколько текстур Ramp (Линейный градиент), назначенных различным атрибутам.
Рис. 7.19. Параметры текстуры Ramp
Раскрывающийся список Туре (Тип градиента) позволяет выбирать направление и форму градиента. Цветовой переход может идти параллельно как U-, так и V-координате, кроме того, быть круговым, радиальным, диагональным и т. п. Раскрывающийся список Interpolation (Интерполяция) содержит различные варианты цветовых переходов.
Атрибуты U Wave (Волна по U) и V Wave (Волна по V) позволяют формировать волнообразный рисунок, а атрибуты Noise (Шум) и Noise Frequency (Частота шума) размещают цветовые полосы случайным образом.
Интересную текстуру можно получить с помощью параметров раздела HSV Color Noise (Цветовое зашумление), позволяющих создать случайный рисунок на основе значений Hue (Цветовой тон), Saturation (Насыщенность) и Value (Интенсивность). Это позволяет внести небольшие изменения в текстуру и улучшить ее вид.
Текстуры Fractal Noise и Mountain
Текстуры Fractal Noise (Фрактальное зашумление) и Mountain (Горы) используются для создания нерегулярного рисунка, обычно добавляемого к атрибутам Color (Цвет) и Transparency (Прозрачность). Например, при создании поверхности имеет смысл сделать ее грязноватой. Ведь реальные поверхности редко бывают идеально чистыми. На основе текстур Fractal Noise (Фрактальное зашумление) и Mountain (Горы) часто создаются карты рельефа.
Текстуры Bulge, Cloth, Checker, Grid и Water
Текстуры Bulge (Выпуклости), Cloth (Ткань), Checker (Шахматное поле), Grid (Решетка) и Water (Вода) обычно назначаются атрибуту Bump Mapping (Карта рельефа) для формирования различных элементов поверхности. Каждая из них создает на поверхности интересный рисунок, увеличивая при этом детализацию. Впрочем, данные текстуры можно использовать и для получения неоднородностей цвета или зеркальных бликов.
Текстура Grid (Решетка), назначенная атрибуту Bump Mapping (Карта рельефа), обычно используется для имитации желобков между плитками, текстура Cloth (Ткань) замечательно имитирует ткань, а текстура Checker (Шахматное поле) — поверхность резинового коврика. Назначив текстуру Water (Вода) атрибуту Reflectivity (Отражательная способность), можно воспроизвести блики на поверхности садовой мебели, возникающие из-за отражения солнечных лучей от поверхности воды в бассейне.
Узел File
Узел File (Файл) используется для импорта файлов с изображениями, которые вводятся в состав материала в качестве текстур. Например, если вы хотите смоделировать лицо назначением текстуры, взяв в качестве образца свою фотографию, воспользуйтесь узлом File (Файл) для импорта соответствующего изображения.
Создание текстуры путем импорта растровых изображений
Рассмотрим процесс назначения растрового изображения атрибуту Color (Цвет) материала, созданного на основе раскраски Lambert (По Ламберту):
1. Создайте материал на основе раскраски Lambert (По Ламберту).
2. Щелкните на кнопке с рисунком шахматной доски, расположенной справа от ползунка атрибута Color (Цвет). Убедитесь в том, что переключатель в верхней части окна диалога Create Render Node (Создать узел визуализации) стоит в положении Normal (Нормально), и щелкните на кнопке File (Файл). В окне диалога Attribute Editor (Редактор атрибутов) появятся атрибуты файлового узла.
3. Щелкните на кнопке со значком папки, расположенной справа от поля Image Name (Имя изображения). Выберите файл с изображением на жестком диске своего компьютера. Имеет смысл заранее скопировать все нужные файлы в папку sourceimages текущего проекта. Именно эта папка обычно открывается по умолчанию. Загрузите файл, дважды щелкнув на его имени.
4. Теперь выбранный вами файл соединен с атрибутом Color (Цвет) текущего материала. Для размещения его на поверхности объекта используйте узел pla-ce2dTexture или управление узлом проецирования.
Файл с растровым изображением может быть назначен любому атрибуту материала, допускающему операцию назначения текстур. Часто такие файлы служат в качестве карт рельефа или прозрачности. Для замены одного изображения другим достаточно дважды щелкнуть на имени узла файла текстуры в окне диалога Hypershade (Редактор узлов) и выбрать другой файл.
Использование файлов из графического редактора Photoshop
В Maya 6 появилась возможность использовать в качестве растровых карт текстуры изображения в формате PSD. Их преимущество состоит в том, что вы можете назначать различным атрибутам материала различные слои изображения. Это избавляет от необходимости импортировать несколько разных файлов. Впрочем, чтобы воспользоваться этим свойством, потребуется знание приложения Photoshop и умение работать в Maya.
Создадим в Photoshop файл, который одновременно послужит картой текстуры для атрибутов Color (Цвет), Transparency (Прозрачность) и Bump (Рельефность). Альтернативой в данном случае является только создание отдельных карт текстуры для каждого из этих атрибутов.
1. Откройте новую сцену, создайте NURBS-сферу и назначьте ей материал на основе раскраски Lambert (По Ламберту).
2. Выделите сферу, затем, нажав клавишу F5, перейдите в режим Rendering (Визуализация) и щелкните на квадратике, расположенном справа от команды Create PSD Texture (Создать PSD-текстуру) в меню Texturing (Назначение текстур). В списке Attributes (Атрибуты) появившегося окна диалога выделите атрибуты Color (Цвет), Transparency (Прозрачность) и Bump (Рельефность) и щелкните на кнопке с указывающей вправо стрелкой, чтобы перенести их в список Selected Attributes (Выделенные атрибуты).
3. Укажите папку, в которую будет сохранено изображение, и имя будущего файла. По умолчанию Maya сохраняет создаваемые таким способом файлы в папку sourceimages текущего проекта, присваивая им имя поверхности, которой они будут назначены. Щелкните на кнопке Create (Создать).
4. Откройте созданный PSD-файл в Photoshop и обратите внимание на три слоя, сгруппированные в трех папках с именами выбранных вами на шаге 2 атрибутов. В данном случае это будут папки Iambert2.bump, Iambert2.transparency и lambertZ.color, а также слой UVSnapShot. Этот слой содержит проекционные координаты сферы в каркасном виде и служит основой для создания будущей текстуры. Так как сфера является простой моделью, этот слой нам не понадобится, поэтому просто отключите его. Теперь на каждом из слоев вы можете нарисовать свое изображение, создавая карты текстуры для выбранных атрибутов. Сохраните файл. При этом вы можете присвоить ему другое имя. 5. Откройте окна диалога Hypershade (Редактор узлов) и Attribute Editor (Редактор атрибутов). Если сделать видимыми связи между формирующими материал узлами, вы увидите, что PSD-файл соединен с атрибутами Color (Цвет), Transparency (Прозрачность) и Bump (Рельефность).
6. В окне диалога Attribute Editor (Редактор атрибутов) перейдите на вкладку filel и замените ранее использовавшийся файл PSD вновь созданным. Если в Photoshop вы не присваивали файлу нового имени, то достаточно щелкнуть на кнопке Reload File Texture (Перезагрузить файл текстуры).
Трехмерные текстуры и текстуры внешней среды
Как вы уже убедились в процессе назначения материалов модели алебарды, проецирование трехмерных текстур осуществляется в трехмерном пространстве. Такие текстуры хорошо подходят, например, для объектов, поверхность которых должна отражать окружающую обстановку.
В то время как двумерные текстуры просто накладываются на плоскость, трехмерные создают область «влияния» материала. В этом случае перемещение объекта в сцене приводит к тому, что текстура на его поверхности как бы «плывет». Этого можно избежать, сделав узел размещения текстуры дочерним по отношению к узлу объекта или преобразовав текстуру в растровое изображение.
Удаление текстуры
Иногда оказывается, что текстура, назначенная какому-либо атрибуту материала, не дает нужного эффекта. В этом случае нужно удалить ее из состава материала. Как это сделать? Дважды щелкните на образце материала в окне диалога Hypershade (Редактор узлов), чтобы открыть для него окно диалога Attribute Editor (Редактор атрибутов). Или же вы можете щелкнуть на объекте правой кнопкой мыши и выбрать в появившемся меню команду Materials > Material Attributes (Материалы > Атрибуты материала). Затем остается щелкнуть правой кнопкой мыши на имени атрибута, которому была назначена карта текстуры, и выбрать в появившемся меню команду Break Connection (Разорвать связь).
В предыдущем упражнении мы сделали узел размещения текстуры Wood (Дерево) дочерним по отношению к верхнему узлу алебарды, чтобы заставить изображение двигаться в процессе преобразования этого объекта. Но существует и альтернативная возможность соединения текстуры с поверхностью. Для этой цели служит преобразование узла текстуры в узел файла. Другими словами, узел размещения превращается в изображение, назначенное каналу цвета материала. Узел проекции при этом пропадает. В результате вам уже не требуется прибегать к группировке, как в рассмотренном случае.
Вот как выполняется эта операция:
1. Откройте окно диалога Hypershade (Редактор узлов).
2. Выделите образец многослойного материала и средней кнопкой мыши перетащите его на вкладку Work Area (Рабочая область).
3. Щелкните на этом образце материала правой кнопкой мыши и выберите в появившемся меню команду Graph Network (Сеть узлов), чтобы увидеть все узлы многослойного материала, как показано на рисунке слева.
4. Выделите рукоятку алебарды и при нажатой клавише Shift выделите узел woodZ в окне диалога Hypershade (Редактор узлов).
5. Щелкните на квадратике, расположенном справа от команды Convert to File Texture (Преобразовать в файл текстуры) в меню Edit (Правка) окна диалога Hypershade (Редактор узлов). Введите в поля X Resolution (Разрешение по оси X) и Y Resolution (Разрешение по оси Y) появившегося окна диалога значение 512 и щелкните на кнопке Convert and Close (Преобразовать и закрыть). Если в процессе преобразования появилось сообщение об ошибке, выберите в меню Edit (Правка) команду Delete Unused Nodes (Удалить неиспользуемые узлы) и повторите операцию. В результате перестроения материала появятся файл текстуры, материал и узел группы тонирования, которые будут автоматически назначены выделенной геометрии. Снова удалите неиспользуемые узлы, чтобы освободить пространство в окне диалога Hypershade (Редактор узлов). Вид сети узлов после этой операции показан на изображении справа.
Обратите внимание на то, что после выполнения указанных действий из сцены и из окна диалога Hypershade (Редактор узлов) исчезли узлы размещения. Теперь текстура жестко прикреплена к объекту, и у вас пропала возможность редактировать ее положение.