oldi

Первые шаги в Maya. Урок 4. Работа с материалами

Светлана Шляхтина

Редактор узлов Hypershade

Принципы создания материалов

Автоматическая генерация материала на основе текстурных карт

Создание материалов путем настройки параметров тонированной раскраски для базовых образцов

Создание материалов путем назначения образцу одной или более текстурных карт или иных изображений

 

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

Как правило, материалы сначала именуют, затем настраивают и только после этого присваивают объектам. Поскольку материалы в Maya, равно как и кривые, поверхности, источники освещения и пр., описываются через узлы, то все вышеназванные операции производятся в редакторе узлов Hypershade, который можно вызвать при помощи команды Window=>Rendering Editors=>Hypershade (Окно=>Редакторы рендеринга=>Редактор узлов). Окно Hypershade (как и другие виды окон, панелей и меню) может быть открыто также через меню оперативного доступа при нажатии и удерживании в течение  некоторого времени клавиши «Пробел» и последующего выбора требуемой команды из списка Window. Редактор узлов позволяет использовать входящие в поставку базовые материалы, видоизменять параметры базовых материалов или создавать новые материалы на их основе и просматривать образцы материалов в процессе их редактирования. Созданные или видоизмененные материалы сохраняются вместе со сценой и могут быть импортированы из нее в любую другую сцену (команда File=>Import — Файл=>Импорт). Можно сохранять материалы и отдельно — посредством экспорта командой File=>Export Selected Network (Файл=>Экспортировать выделенные связи), что позволяет формировать собственную пользовательскую библиотеку материалов для дальнейшего использования.

Редактор узлов Hypershade

Откройте редактор узлов Hypershade — изначально окно редактора будет иметь такой же вид, как на рис. 1. Слева в окне находится область создания узлов, а два окна, расположенные в рабочей области справа, называются верхней и нижней вкладками. По умолчанию верхнее окно используется для показа существующих материалов, а нижнее — для их создания и редактирования. Благодаря наличию соответствующих закладок в верхнем окне, оно также может использоваться для отображения имеющихся в сцене источников света, камер и других элементов. Нижняя вкладка по умолчанию содержит единственную закладку Work Area (Рабочая область), в которой непосредственно и производится создание и редактирование материалов. При желании число закладок (равно как и их состав) на обеих вкладках может регулироваться пользователем, что осуществляется через меню Tabs (Закладки), но в ракурсе данного урока это для нас неактуально. Наличие в окне Hypershade всех трех вышеназванных подокон условно — при необходимости любое из них может быть скрыто. Скрыть или вновь вернуть область создания узлов можно посредством удаления или установки флажка Options=>Create Bar=>Show Create Bar (Опции=>Область создания=>Показать область создания). А для скрытия или отображения верхней и нижней вкладок достаточно воспользоваться кнопками Show Top and Bottom Tabs (Показать верхнюю и нижнюю вкладки), Show Bottom Tabs Only (Только нижняя вкладка) и Show Top Tabs Only (Только верхняя вкладка).

 

Рис. 1. Исходный вид окна Hypershade

Рис. 1. Исходный вид окна Hypershade

 

В области создания узлов представлены все типы предусмотренных в пакете образцов — для удобства они разбиты по категориям (рис. 2). На вкладках же могут находиться как уже готовые материалы, так и образцы (раскраски, текстуры и др.) или материалы на той и или иной стадии редактирования. Готовые материалы и образцы раскрасок представлены слотами, в каждом из которых отображается шар, а встроенные текстурные карты и прочие изображения имеют прямоугольную форму. Если число материалов и образцов на вкладках окажется слишком большим или они будут размещены некомпактно, то имеет смысл их перекомпоновать при помощи команды View=>Frame All (Вид=>Все фрагменты) из контекстного меню, производящей переразмещение объектов с учетом размера окон вкладок и степени их заполнения.

 

Рис. 2. Область создания узлов (представлены все категории по умолчанию)

Рис. 2. Область создания узлов (представлены все категории по умолчанию)

 

Любой из базовых образцов может быть изменен необходимым образом — для этого достаточно выделить его в области создания узлов. Данный образец тут же появится в рабочей области и станет доступным для редактирования, о чем будет свидетельствовать наличие желтой рамки по периметру образца. Параллельно с появлением образца на закладке Work Area произойдет открытие окна редактора атрибутов (Attribute Editor) с параметрами данного образца — именно в данном окне и осуществляется его изменение. Если же требуется перейти к редактированию не базового образца, а например, одного из готовых или пока еще создаваемых материалов сцены, то для открытия редактора атрибутов с его параметрами (что необходимо для начала изменения материала) придется дважды щелкнуть на интересующем объекте.

Все редактируемые материалы и образцы, видимые в рабочей области, отображаются с учетом существующих между ними связей, что наглядно и удобно. Обратите внимание, например, на рис. 3, где представлены верхняя и нижняя вкладки редактора узлов. На верхней вкладке активный материал имеет желтую рамку, на нижней тот же самый материал представлен в виде блок-схемы, из которой сразу видно, что текстура Marble задействована при создании материала дважды: в качестве основного фона и для создания рельефности на канале Bump. Для редактируемого материала подобная графическая структура отображается автоматически. Если же материал был создан когда-то ранее и присутствует в верхней вкладке редактора узлов, то для отображения его структуры (что может потребоваться для редактирования) нужно выделить материал в верхней вкладке и из контекстного меню вызвать команду Graph Network (Графическая связь). Можно и иначе — выделить объект, материал которого требуется немного изменить, а затем щелкнуть на кнопке Graph Materials on Selected Objects (Графически представить материал для выделенных объектов). Любые составные элементы материала, фигурирующие в графической схеме, можно отредактировать или удалить: первое выполняется также в редакторе атрибутов, открываемом при двойном щелчке на элементе, второе — при нажатии клавиши Del. Если же рабочее окно окажется перегруженным, то его в любой момент можно очистить, щелкнув на кнопке Clear Graph (Очистить граф), — на существующих материалах это никак не скажется.

 

Рис. 3. Вкладки окна Hypershade

Рис. 3. Вкладки окна Hypershade

 

Любой из образцов или созданный на его основе материал может быть продублирован или назначен объекту сцены. Первое осуществляется командой Edit=>Duplicate (Правка=>Дублировать) и удобно для создания похожих материалов или просто для того, чтобы внести  небольшие изменения в оригинальный материал и затем сравнить измененный материал с оригиналом с целью выявления лучшей имитации требуемой поверхности. Причем дублировать можно либо только сам материал (без связей его с текстурами и изображениями) — в этом случае дублируются лишь параметры тонированной раскраски (Without Network), либо полностью (With Connections to Network). Для назначения материала объекту необходимо выделить объект, щелкнуть правой кнопкой мыши на образце материала и выбрать в открывшемся контекстном меню команду Assign Material to Selection (Назначить материал выделенному объекту). При желании также можно конвертировать материал в текстуру, применив команду  Convert to File Texture (Конвертировать в файл текстуры) из меню Edit.

В начало В начало

Принципы создания материалов

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

В начало В начало

Автоматическая генерация материала на основе текстурных карт

Создайте произвольную группу объектов (рис. 4). Откройте окно редактора Hypershade (команда Window=>Rendering Editors=>Hypershade — Окно=>Редакторы рендеринга=>Редактор узлов). В области создания узлов раскройте список 3D Textures и выделите текстуру Marble, используемую для имитации мрамора, — соответствующий ей образец появится на нижней вкладке, причем уже с новым именем Marble1 (рис. 5). Выделите сферу  и назначьте в качестве материала образец с текстурой, нажав правую кнопку и выбрав из контекстного меню команду Assign Material to Selection. Результатом станет автоматическое создание нового материала на основе указанной текстуры, причем данный материал появится не только на нижней, но и на верхней вкладке редактора узлов (рис. 6). Однако если посмотреть после назначения материала в окно Perspective, то сфера будет выглядеть просто серой — увидеть то, что на сферу наложен материал, можно только после рендеринга (рис. 7). Установленное по умолчанию имя данного материала лучше изменить на более значимое: Pink_Marble, Gold_Metal, Blue_Plastic и т.п. Для этого можно активизировать образец с материалом и выбрать из контекстного меню команду Rename (Переименовать — рис. 8) или провести переименование непосредственно в редакторе атрибутов. Попробуйте наложить разные материалы на другие объекты по той же самой схеме — возможный вариант, где кубу соответствует материал Wood, цилиндру — Rock, а плоскости — Ocean из списка 2D Textures, представлен на рис. 9 и 10.

 

Рис. 4. Исходные объекты

Рис. 4. Исходные объекты

 

Рис. 5. Выбор текстурной карты

Рис. 5. Выбор текстурной карты

 

Рис. 6. Появление «мраморного» материала

Рис. 6. Появление «мраморного» материала

 

Рис. 7. Вид объектов после назначения сфере материала

Рис. 7. Вид объектов после назначения сфере материала

 

Рис. 8. Переименование «мраморного» материала

Рис. 8. Переименование «мраморного» материала

 

Рис. 9. Вид сцены после назначения всем объектам материалов

Рис. 9. Вид сцены после назначения всем объектам материалов

 

Рис. 10. Вид вкладок окна Hypershade после создания и присваивания материалов

Рис. 10. Вид вкладок окна Hypershade после создания и присваивания материалов

 

Параметрами любого созданного из текстуры материала можно управлять, что позволяет на основе любой базовой текстурной карты получать бесконечное число вариаций. Выделите на вкладке Work Area образец текстуры Marble1, переключитесь в окно редактора атрибутов (Attribute Editor) и измените цвета в полях Filler Color и Vein Color, например так, как показано на рис. 11, — розовый мрамор станет зеленым, причем данное изменение сразу же скажется на шаре, которому был присвоен соответствующий материал (правда, увидеть это вы сможете лишь после рендеринга). Активизируйте образец Rock и в редакторе атрибутов увеличьте значение Grain Size (рис. 12) — размеры темных включений на гранитной поверхности станут больше. Выделите материал, созданный на основе образца Ocean, и измените цвет в поле Ambien Color — это приведет к изменению текстурного окрашивания плоскости (рис. 13). Затем сделайте материал на основе текстуры Wood полупрозрачным (рис. 14). После всех изменений проведите рендеринг и увидите, что вид текстурных поверхностей стал иным (рис. 15).

 

Рис. 11. Корректировка параметров Filler Color и Vein Color

Рис. 11. Корректировка параметров Filler Color и Vein Color

 

Рис. 12. Изменение параметра Grain Size

Рис. 12. Изменение параметра Grain Size

 

Рис. 13. Корректировка параметра Ambien Color

Рис. 13. Корректировка параметра Ambien Color

 

Рис. 14. Изменение параметра Transparency

Рис. 14. Изменение параметра Transparency

 

Рис. 15. Вид сцены после корректировки параметров текстурных материалов

Рис. 15. Вид сцены после корректировки параметров текстурных материалов

 

Можно получить материал из произвольного графического файла (например, фотографии). Сформируйте сцену с кубом, цилиндром и шаром. Создайте образец текстуры File из списка 2D Textures, дважды щелкните на данном образце для открытия окна редактора атрибутов и укажите произвольный графический файл с фотографией в поле Image Name (разумнее это сделать через стандартную кнопку Browse) — рис. 16. Назначьте материал первому объекту — это приведет к автоматическому созданию материала из образца (рис. 17). Аналогичным образом получите материалы на основе снимков для двух других объектов. Проведите рендеринг, возможный результат которого можно увидеть на рис. 18. Обратите внимание, что принцип наложения материалов для разных объектов оказывается различным: если для куба отдельный экземпляр фотографии накладывается на каждую из его сторон, то при текстурировании цилиндра и шара подходы совершенно иные. Связано это с вышеупомянутой проблемой проецирования.

 

Рис. 16. Указание фотографии

Рис. 16. Указание фотографии

 

Рис. 17. Появление материала, полученного из фотографии, в нижней вкладке окна Hypershade

Рис. 17. Появление материала, полученного из фотографии, в нижней вкладке окна Hypershade

 

Рис. 18. Результат наложения материалов, созданных на основе фотографии

Рис. 18. Результат наложения материалов, созданных на основе фотографии

 

Данный способ удобно применять для создания материалов, соответствующих различным естественным поверхностям (камень, дерево, песок, ткань), правда придется подобрать соответствующие файлы текстур. Огромное количество таких текстур можно найти в Интернете, на дисках с ПО, позаимствовать в пакетах двумерной графики, при желании нужную текстуру можно даже создать самостоятельно, например в пакете Adobe Photoshop на основе собственноручно сделанных фотографии. Любая из таких текстур будет представлена обычным графическим файлом, поэтому материал на ее основе создается описанным выше способом. Попробуйте использовать данный прием и на основе доступных вам текстур создать природные материалы для всех объектов рабочей сцены — возможный результат представлен на рис. 19.

 

Рис. 19. Результат присвоения объектам сцены материалов на основе внешних текстур

Рис. 19. Результат присвоения объектам сцены материалов на основе внешних текстур

В начало В начало

КомпьютерПресс 11'2006