THE BELL

Есть те, кто прочитали эту новость раньше вас.
Подпишитесь, чтобы получать статьи свежими.
Email
Имя
Фамилия
Как вы хотите читать The Bell
Без спама

Глава 8. Материалы

1. В этой главе

2. Свойства материалов

Свойства материалов

Начинающие аниматоры часто не уделяют должного внимания назначению материалов и освещению сцены. «Добавим несколько источников света, сделаем этот объект красным, а этот - синим, и все готово». В результате обычно получается высветленная, плоская сцена. Большинство предубеждений, связанных с компьютерной анимацией, высказываемых представителями традиционных видов искусства, связано именно с демонстрацией простейших визуализаций, подчеркивающих ограничения данного метода. Однако с помощью Maya можно создавать и настоящие произведения искусства. Правда создание сложной раскраски требует больших временных затрат. Художники, занимающиеся компьютерной графикой, тратят на освещение и создание материалов столько же времени, сколько на моделирование объектов сцены.
Без материалов невозможно создать реалистичное изображение. Имейте в виду, что их внешний вид зависит от освещения, поэтому, если, к примеру, сцена осве-щена очень ярко, имеет смысл сделать материалы более темными. Обычно работа над материалами и освещением происходит одновременно, а результаты редакти-рования проверяются многочисленными визуализациями. Умение компенсировать ограничения виртуальных источников света и создать хорошо освещенную сцену является искусством, детали которого мы будет обсуждать в следующей главе. А здесь мы сосредоточимся на обсуждении свойств материалов.
Что мы подразумеваем под этим термином? Это универсальное понятие, описывающее все характеристики вида поверхности. Начинающие пользователи обычно сначала замечают только цвет поверхности - красный или цвета древесины или металлический серебряный. Опытный аниматор замечает, однако, и другие (рак-торы. Для него существует не просто металлический серебряный цвет, а гладкая полированная поверхность, отражающая окружающие объекты. Кроме таких факторов, как цвет, блеск и отражающая способность, в Maya рассматриваются также прозрачность, просвечивание, преломляющая способность, рельефность и множество других параметров, настраиваемых пользователями. Внимание ко всем этим деталям позволяет создать действительно впечатляющую анимацию.

3. Окно диалога Hypershade

Окно диалога Hypershade

Как и в большинстве программ для создания трехмерной анимации, в Maya имеется редактор материалов, называемый Hypershade (Редактор узлов), который позволяет просматривать образцы материалов в процессе их редактирования. После того как вы оцените вид материала в ячейке образца, имеет смысл воспользоваться интерактивной фотореалистичной визуализацией для более точной настройки. В окне Hypershade (Редактор узлов) используется свободный подход к разработке материалов. Создание определенных эффектов происходит за счет соединения ячеек образцов друг с другом. Например, изображение кирпичной стены получается путем связывания атрибута Bump (Рельеф) с рисунком кирпичей. Редактор узлов также используется в качестве окна просмотра, в котором можно выделять имеющиеся в сцене источники света, камеры, материалы и другие элементы. Для открытия этого окна диалога используйте команду Window > Rendering Editors > Hypershade (Окно > Редакторы визуализации > Редактор узлов) или комбинацию клавиш Shift+t. Появляющееся в результате окно диалога разделено на три части, как показано на рис. 8.1. Вертикальная полоса слева носит название области создания узлов, а два окна, расположенные в рабочей области справа, называются просто верхней и нижней вкладками.

Рис. 8.1. Окно диалога Hypershade

Область создания узлов
В области создания узлов показаны все типы объектов выбранной категории, которые вы можете создать. Достаточно выделить в списке нужный образец, и он появится в рабочей области. Щелчок на кнопке со стрелкой вниз, расположенной в верхней части области создания узлов, приводит к появлению контекстного меню выбора категории объектов, содержащего пять команд: Create Materials (Создание материалов), Create Textures (Создание текстур), Create Lights (Создание источников света), Create Utilities (Создание служебных элементов) и Create All Nodes (Создание узлов всех типов). Для упражнений данной главы наилучшим образом подходит последний из упомянутых вариантов. Скрыть область создания узлов можно нажатием крайней левой кнопки панели инструментов окна Hypershade (Редакторузлов).

Вкладки рабочей области
Рабочая область может содержать практически любое окно. В данном разделе будет описан ее вид но умолчанию, при котором вкладки верхнего окна используется для показа существующих материалов, а вкладки нижнего - для их создания и редактирования. Освоив работу с окном диалога Hypershade (Редактор узлов), вы сможете настраивать окна рабочей области нужным вам образом и даже создавать дополнительные вкладки, что позволит одновременно редактировать несколько материалов.

Вкладки верхнего окна
Верхнее окно содержит элементы, которые уже являются частью текущей сцены. Оно разделено на шесть вкладок, по типам элементов: Materials (Материалы), Textures (Текстуры) (которые являются частью существующих материалов), Utilities (Служебные элементы), Cameras (Камеры) и Projects (Проекты) (для просмотра папки проекта в поисках остальных файлов). В этой области можно выделить любой созданный ранее элемент сцены, для того чтобы:

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

Во всех перечисленных случаях двойной щелчок на образце элемента приводит к открытию окна диалога Attribute Editor (Редактор атрибутов).

Вкладки нижнего окна
Нижнее окно по умолчанию открыто на вкладке Work Area (Рабочая область), в которой производится создание новых материалов. В момент создания сцены в верхнем окне практически нет элементов. Следовательно, первое, что вам нужно сделать после открытия окна диалога Hypershade (Редактор узлов), поместить новый материал в рабочую область и назначить его объекту сцены. Затем перейдите на вкладку Shader Library (Библиотека материалов) и выберите подходящий вариант раскраски. Позже в этой главе мы объясним, как создать дополнительные вкладки и как поместить созданный вами материал в библиотеку.

Изображение:

4. Основные типы раскрасок

Основные типы раскрасок

Основные типы раскрасок показаны на рис. 8.2 и описаны ниже.

Раскраска по Ламберту
Раскраска по Ламберту является основой плоского гладкого материала без зеркальных бликов. При ее вычислении в расчет не принимаются отражающие свойства, благодаря которым поверхность принимает матовый вид. Раскраска по Ламберту используется для имитации таких материалов, как керамика, мел, матовые краски и т. п. По умолчанию любой созданный объект имеет раскраску по Ламберту. Но если материал объекта предполагает наличие зеркальных бликов, то имеет смысл выбрать другую раскраску. Обычно желательно наблюдать блики даже в процессе моделирования объекта, так как это помогает обнаружить разрывы на поверхности модели.

Рис. 8.2. В общем случае раскраска PhongE имеет более мягкие блики, чем раскраска Phong. То же самое можно сказать о раскрасках BlinnE и Blinn

Раскраска по Фонгу
При раскраске по Фонгу принимаются в расчет кривизна поверхности, количество падающего на поверхность света и ориентация камеры. В результате получаются резкие блики, характерные для полированных поверхностей, таких как пластмасса, фарфор и покрытая глазурью керамика.

ПРИМЕЧАНИЕ
Если в процессе анимации окажется, что блики мерцают, поменяйте раскраску по Фонгу на раскраску по Блинну, придав бликам более мягкую форму. Эта проблема обостряется при использовании карт рельефа.

Расширенная раскраска по Фонгу
Существует еще одна версия раскраски по Фонгу с более мягкими бликами. При этом визуализация объекта, которому назначен материал с этим типом раскраски, происходит быстрее, чем обычно. Большинство аниматоров используют обычную раскраску по Фонгу для получения интенсивных бликов и раскраску по Блинну в остальных случаях.

Раскраска по Блинну
В случае выбора данного типа раскраски блики на поверхности материала выглядят более округлыми и не столь неестественно большими и яркими, как при раскраске по Фонгу. Этот тип раскраски используется для имитации металлических поверхностей с мягкими бликами, таких как медь или алюминий. Так как материалы, получаемые на основе этой раскраски, универсальны и не приводят к появлению мерцания при работе с картами рельефа, именно они будут использоваться в упражнениях этой главы.

Анизотропная раскраска
Этот метод раскраски позволяет имитировать несимметричные блики на поверхности материалов и управлять ориентацией этих бликов. Объекты с множеством параллельных микрожелобков, например полированный металл, отражают свет в зависимости от направления этих желобков по отношению к наблюдателю. Анизотропная раскраска идеально подходит для имитации таких материалов, как волосы, перья, полированный металл и атласная ткань.

Другие варианты
Четыре оставшихся типа материалов используются в более сложных случаях, которые мы перечислим в этом разделе. Многослойная раскраска (layered shader) позволяет скомбинировать несколько материалов в один. Например, если нужно получить хромовые пятна на деревянной поверхности, используйте карту-маску для хромовых пятен.
Карта затенения (shading map) является цветовой картой, назначаемой поверхностям после их визуализации, например для создания эффекта мультфильма и других не-фотореалистичных эффектов.
Раскраска поверхности (surface shader) используется для настройки цвета материала, его прозрачности и эффекта сияния. Этот тип раскраски можно связать с положением объекта, и в результате материал будет менять цвет при движении объекта.
Тип раскраски Use Background (Использовать фон) вырезает «дыру» в альфа-канале изображения в местах, где появляется объект с материалом данного типа. Этот прием используется при создании комбинированной анимации из отдельных визуализированных изображений с помощью специальных программ, информацию о которых можно найти в главе 14. Аниматоры обычно применяют подобные приемы для разделения сложных сцен на более простые, а также для комбинирования трехмерной анимации с обычным кинофильмом.

Maya: В общем случае раскраска PhongE имеет более мягкие блики, чем раскраска Phong. То же самое можно сказать о раскрасках Blin

Изображение:

5. Параметры материалов

Параметры материалов

После обзора основных типов раскраски пришла пора поговорить об их параметрах. В большинстве своем они однотипны для различных раскрасок, поэтому имеет смысл подробно рассмотреть только параметры раскраски по Блинну. Для получения доступа к редактированию параметров материала дважды щелкните на любом из образцов материала в окне диалога Hypershade (Редактор узлов). Обычно сначала создается базовый вариант раскраски по Блинну, а затем двойным щелчком открывается окно диалога Attribute Editor (Редактор атрибутов), показанное на рис. 8.3. Обратите внимание на системное имя материала в верхней части окна диалога Attribute Editor (Редактор атрибутов). При создании еще одного материала с использованием этого же типа раскраски программа присвоит ему такое же имя, увеличив цифру на конце на единицу. Имеет смысл менять системные имена на более значимые.

Рис. 8.З. Окно диалога Attribute Editor с основными параметрами раскраски по Блинну

Изображение рядом с надписью Material Sample (Образец материала) представляет собой сферу, которой присвоен созданный материал. Ее вид меняется в процессе редактирования атрибутов этого материала. Раскрывающийся список Туре (Тип) используется для изменения типа материала. Но имейте в виду, что если набор параметров при этом меняется, они автоматически принимают значения, заданные по умолчанию, а присвоенное имя сменяется системным.
Ниже находятся разделы Common Material Attributes (Общие параметры материала) и Specular Shading (Параметры зеркальных бликов). Так как их параметры чаще всего меняют при редактировании материалов, эти разделы по умолчанию развернуты, в отличие от остальных разделов окна диалога Attribute Editor (Редактор атрибутов).
Обратите внимание, что для изменения значений первых пяти переменных раздела Common Material Attributes (Общие параметры материала) используются поле образца цвета, ползунок и кнопка. Перемещая ползунок, можно сделать материал более светлым или более темным. Для изменения цвета материала следует открыть окно диалога Color Chooser (Выбор цвета), щелкнув на поле образца цвета. Если же требуется заменить цвет текстурой, щелкните на кнопке. Перечислим параметры раскраски по Блинну, содержащиеся в разделах Common Material Attributes (Общие параметры материала) и Specular Shading (Параметры зеркальных бликов).

  • Color (Цвет). Базовый цвет поверхности.
  • Transparency (Прозрачность). Регулирует степень прозрачности материала. Как только значение этого параметра начинает отличаться от нуля, используемый по умолчанию черный фон в ячейке образца материала заменяется рисунком шахматной доски, что позволяет более адекватно оценивать образцы стеклянных и других прозрачных материалов.
  • Ambient Color (Цвет подсветки). Определяет цвет материала в области тени, где он освещается только рассеянным светом. Имеет смысл в общем случае оставлять значение этого параметра равным нулю, что соответствует черному цвету. Отличный от черного цвет подсветки приводит к тому, что после визуализации такой объект становится менее контрастным и более плоским.
  • Incandescence (Свечение). Имитация свечения диффузного компонента цвета материала. Увеличение этого параметра приводит к постепенной замене теней на поверхности материала цветом диффузного рассеяния. Имейте в виду, что после визуализации материал будет выглядеть так, как будто он испускает свет, но на самом деле изменения освещенности окружающих предметов не происходит.
  • Diffuse (Цвет диффузного рассеяния). Этот параметр задает цвет световых лучей, рассеиваемых материалом при освещении прямыми лучами света. По умолчанию его значение равно 0,8, благодаря чему цвет поверхности, заданный с помощью параметра Color (Цвет), становится более тусклым. Часто аниматоры назначают этому компоненту особую карту текстуры, которая позволяет имитировать загрязненную поверхность.
  • Translucence (Просвечивание). Этот параметр, отсутствовавший в предыдущих версиях Maya, позволяет имитировать цвет света, просвечивающего сквозь материал, и используется при создании таких материалов, как, к примеру, матовое стекло. Эффект основан на наличии источников света вокруг и позади объекта, которому назначен просвечивающий материал.
  • Translucence Focus (Фокусировка просвечивания). Данный параметр, позволяющий настроить способ отражения света от поверхности, также отсутствовал в предыдущих версиях Maya. Его низкие значения приводят к интенсивному рассеиванию света и появлению мягкого, размытого эффекта просвечивания.
  • Eccentricity (Эксцентриситет). Ширина блика, определяющая, насколько полированной, или наоборот, шероховатой будет выглядеть поверхность.
  • Specular Roll Off (Сила блеска) Параметр, задающий яркость зеркального блика.
  • Specular Color (Цвет зеркальных бликов). Обычно для этого параметра, задающего цвет бликов на блестящем материале, выбирают белый или серый цвет.
  • Reflectivity (Отражательная способность). Задает яркость отражения окружающих объектов поверхностью зеркального материала. Отражения можно имитировать как методом трассировки лучей, так и с помощью карт текстуры. Если атрибуту Reflected Color (Цвет отраженного света) не назначена карта текстуры, то для наблюдения эффекта, вызванного изменением отражательной способности, необходимо включить отслеживание путей прохождения отдельных световых лучей от источника до объектива камеры с учетом их отражения от объектов сцены и преломления в прозрачных средах. Это можно сделать, установив в разделе Raytradng Quality (Качество трассирования) окна диалога Render Globals (Общие параметры визуализации) флажок Raytradng (Трассирование).
  • Reflected Color (Цвет отраженного света). При работе с материалом, полученным на основе раскраски по Блинну, использование окна диалога Color Chooser (Выбор цвета) и ползунка не оказывает никакого эффекта. Но если назначить цвету отраженного света карту текстуры, материал приобретет способность отражать окружающую среду. При этом способе моделирования отражающей поверхности не происходит замедления процесса визуализации, сопровождающего трассирование лучей. Кроме того, это может быть полезно в ситуациях, когда окружающая среда отсутствует.

Рассмотрим на примерах разницу между некоторыми из перечисленных параметров. На рис. 8.4 у материала, назначенного расположенной слева плоскости, увеличен параметр Transparency (Прозрачность), благодаря чему можно видеть расположенный позади этой плоскости предмет. Материал, назначенный плоскости, расположенной слева, имеет повышенное значение параметра Translucence (Просвечивание), что приводит к появлению на ее поверхности тени от расположенного позади объекта.

Рис. 8.4. Сравнение материалов с повышенным значением параметров Transparency и Translucency

Материалы, назначенные объектам, имеют значение параметра Reflectivity (Отражательная способность), равное 1 (то есть отражательная способность равна 100 %), но затем с помощью различных методов были получены дополнительные эффекты. Атрибут Reflected Color (Цвет отраженного света) материала крайней слева сферы не имеет назначенной карты текстуры, в то время как у материала сферы, расположенной чуть правее, этому атрибуту назначена карта Env Chrome (Хромовое зеркало), благодаря чему создается впечатление наличия рисунка на поверхности объекта. Материал третьей слева сферы получен включением эффекта трассирования, поэтому на ее поверхности отражаются предметы окружающей обстановки. Разумеется, при этом атрибут Reflected Color (Цвет отраженного света) не вносит никакого вклада в вид материала. Материал крайней правой сферы получен сочетанием эффекта трассирования и назначения карты текстуры атрибуту Reflected Color (Цвет отраженного света). В результате получается практически зеркальная поверхность, в которой отражаются предметы, расположенные рядом со сферой.

Окно диалога Color Chooser
Окно диалога Color Chooser (Выбор цвета) появляется всякий раз при щелчке на поле образца цвета. В верхней части этого окна расположена панель с 14 кнопками. Нажатие кнопки приводит к выделению соответствующего цвета. Если щелкнуть на ней правой кнопкой мыши, кнопка приобретет цвет, выбранный в данный момент. После нажатия кнопки со значком пипетки указатель мыши меняет свою форму. Если теперь щелкнуть на образце цвета в любом из окон программы Maya, окажется выделенным именно этот цвет. Ниже, в разделе Wheel (Палитра) находится цветовой спектр, показанный на рис. 8.5. Расположенные снизу ползунки настройки компонентов цветовой модели можно использовать в двух режимах - RGB (Red (Красный), Green (Зеленый) и Blue (Синий)) и HSV (Hue (Цветовой тон), Saturation (Насыщенность) и Value (Интенсивность)). Выбор режима осуществляется с помощью раскрывающегося списка, расположенного в нижней части раздела Sliders (Ползунки). Причем второй из них используется чаще. Используйте ползунок Hue (Цветовой тон) для выбора цвета, затем с помощью ползунка Saturation (Насыщенность) выберите насыщенность цвета по сравнению с серым. Наконец, настройте яркость цвета ползунком Value (Интенсивность). В самом низу данного раздела находится ползунок, регулирующий прозрачность, но он используется довольно редко.

Рис. 8.5 Вид окна диалога Color Chooser в режиме HSV

Упражнение. Создание стандартных материалов
Стандартные материалы имеют однородный цвет по всей поверхности объекта. В этом упражнении мы используем окно диалога Hypershade (Редактор узлов) для создания таких материалов и назначим их объектам.

Керамика
Назначим горшку материал, имитирующий керамику, созданный на основе раскраски по Ламберту.

  1. Откройте окно диалога Hypershade (Редактор узлов), нажав комбинацию клавиш Shiftt-t. Имейте в виду, что вам потребуется как рабочая область, так и область создания узлов. Щелкните правой кнопкой мыши на верхней панели области создания узлов и выберите в появившемся меню вариант Create Materials (Создание материалов). Щелкните средней кнопкой мыши на образце раскраски Lambert (По Ламберту) и перетащите указатель в нижнее окно рабочей области. Затем дважды щелкните на этом образце материала для вызова окна диалога Attribute Editor (Редактор атрибутов). Если это окно диалога не появится, щелкните на образце материала правой кнопкой мыши и выберите в появившемся контекстном меню вариант Attribute Editor (Редактор атрибутов).
  2. Присвойте новому материалу имя pottery. Щелкните на поле образца цвета, расположенном справа от названия Color (Цвет). В окне диалога Color Chooser (Выбор цвета) сделайте значения параметров Hue (Цветовой тон), Saturation (Насыщенность) и Value (Интенсивность) равными 33, 0,8 и 0,7 соответственно. Нажмите кнопку Accept (Принять), чтобы закрыть окно диалога Color Chooser (Выбор цвета).
  3. Выделите цветочный горшок и, щелкнув правой кнопкой мыши на образце материала, выберите в появившемся контекстном меню вариант Assign Material to Selection (Назначить материал выделенному объекту). Вы увидите, как в окне проекции Perspective (Перспектива) цветочный горшок станет темно-оранжевым.

Пластмасса
Для имитации пластмассы используется материал на основе раскраски по Блинну, с яркими бликами.

  1. Средней кнопкой мыши перетащите образец раскраски Blinn (По Блинну) из области создания узлов в нижнее окно рабочей области. Откройте окно диалога Attribute Editor (Редактор атрибутов) и присвойте новому материалу имя red_plastic.
  2. Сделайте цвет материала ярко-красным. В окне диалога Color Chooser (Выбор цвета) можно щелкнуть на одном из подходящих цветов предлагаемой сверху палитры или же выбрать нужный оттенок с помощью ползунков Hue (Цветовой тон), Saturation (Насыщенность) и Value (Интенсивность).
  3. В разделе Specular Shading (Параметры-зеркальных бликов) введите в поля Eccentricity (Эксцентриситет) и Specular Roll Off (Сила блеска) значения 0,1 и 1 соответственно, чтобы сделать цвет блика чисто-белым. Теперь образец материата, показанный в верхней части окна диалога Attribute Editor (Редактор атрибутов), должен выглядеть как блестящая красная пластмасса.
  4. Выделите цилиндр в окне проекции Perspective (Перспектива) и, щелкнув правой кнопкой мыши на образце материала в окне диалога Hypershade (Редактор узлов), выберите в появившемся контекстном меню вариант Assign Material to Selection (Назначить материал выделенному объекту). Цилиндр должен стать ярко-красным.

Металл
Создание металла требует небольшой хитрости. Ползунки окна диалога Attribute Editor (Редактор атрибутов) имеют верхний и нижний пределы, в которые не всегда попадают нужные вам значения. В большинстве случаев такое значение можно ввести в текстовое поле, расположенное рядом с ползунком. Иногда этот способ позволяет получить впечатляющие результаты.

  1. Используя среднюю кнопку мыши, перетащите еще один образец раскраски Blinn (По Блинну) из области создания узлов в нижнее окно рабочей области. Откройте окно диалога Attribute Editor (Редактор атрибутов) для этого материала и присвойте ему имя gold.
  2. В окне диалога Color Chooser (Выбор цвета) введите в поля параметров Hue (Цветовой тон), Saturation (Насыщенность) и Value (Интенсивность) значения 40, 0,8 и 0,2 соответственно и нажмите кнопку Accept (Принять).
  3. Чтобы придать материалу сходство с металлом, щелкните на поле образца цвета справа от имени параметра Specular Color (Цвет зеркальных бликов) и введите в поля Hue (Цветовой тон), Saturation (Насыщенность) и Value (Интенсивность) окна диалога Color Chooser (Выбор цвета) значения 40, 1 и 2 соответственно, как показано на рис. 8.6. Нажмите кнопку Accept (Принять), а затем закройте окно диалога Attribute Editor (Редактор атрибутов).
  4. Выделите продолговатый сферический объект и назначьте ему вновь созданный материал.
  5. Щелкните правой кнопкой мыши на окне проекции Perspective (Перспектива) и выберите в меню оперативного доступа команду Render > Render Current Frame (Визуализация > Визуализировать текущий кадр), чтобы посмотреть на итоговый вид материалов.
  6. Оставьте открытым появившееся окно диалога Render View (Визуализатор).

Отражающий материал, полученный методом трассирования
Полученный материал gold достаточно убедительно имитирует вид золота, но что нужно сделать, чтобы поверхность материала отражала окружающие предметы? Для этого используется ползунок Reflectivity (Отражательная способность) в окне диалога Attribute Editor (Редактор атрибутов), но вы не увидите никаких результатов, пока не включите механизм трассировки лучей или не назначите карту текстуры атрибуту Reflected Color (Цвет отраженного света).

  1. В окне диалога Render View (Визуализатор) щелкните на кнопке Render Globals (Общие параметры визуализации), как показано на рис. 8.7. В разделе Raytracing
    Quality (Качество трассирования) установите флажок Raytracing (Трассирование) и закройте окно диалога. Снова визуализируйте сцену, нажав крайнюю левую кнопку на панели инструментов окна диалога Render View (Визуализатор), и вы должны заметить, что поверхность продолговатого сферического объекта начала отражать окружающую обстановку.

Рис. 8.6. Выбор цвета при имитации золота


Рис. 8.7. Щелчок на этой кнопке открывает окно диалога Render Globals

  1. Несколько раз поверните окно проекции Perspective (Перспектива) и визуализируйте сцену, чтобы посмотреть на нее под разными углами. Обратите внимание, что красная пластмасса тоже обладает отражающей способностью. Чтобы устранить ее, нужно сделать значение параметра Reflectivety (Отражательная способность) материала red_plastic равным нулю.

ПРИМЕЧАНИЕ
Помните, что можно менять масштаб и осуществлять панорамирование визуализированного изображения, а также любого из окон рабочей области в окне
диалога Hypershade (Редактор узлов).

Преломляющий материал, полученный методом трассирования
Также имеется возможность создания прозрачных материалов, преломляющих свет. При прохождении сквозь такой материал лучи света будут отклоняться.

  1. Используя среднюю кнопку мыши, перетащите еще один образец раскраски Btinn (По Блинну) из области создания узлов в нижнее окно рабочей области. Откройте окно диалога Attribute Editor (Редактор атрибутов) для этого материала и присвойте ему имя glass.
  2. Сделайте цвет материала черным, переместив ползунок, расположенный справа от имени параметра Color (Цвет), до отказа влево. Ползунок, расположенный справа от имени параметра Transparency (Прозрачность), наоборот, переместите до отказа вправо. Как только вы начнете увеличивать значение прозрачности, черный фон в ячейке образца материала сменится рисунком шахматной доски. Сделайте параметр Eccentricity (Эксцентриситет) равным ОД, параметр Specular RollQff (Сила блеска) - равным 1, а ползунок параметра Specular Color (Цвет зеркальных бликов) сдвиньте до отказа вправо.
  3. Откройте раздел Raytrace Options (Параметры трассирования) и установите флажок Refractions (Преломления). В поле параметра Refractive Index (Коэффициент преломления) введите значение 1,5, что соответствует коэффициенту преломления стекла. Выделите кольцо, расположенное слева от горшка для цветов и, щелкнув правой кнопкой мыши на образце материала glass, выберите в появившемся контекстном меню команду Assign Material to Selection (Назначить материал выделенному объекту).

Дублирование материалов
Существует возможность создания нового материала на основе уже существующего. Этот процесс начинается с дублирования материалов.

  1. Выделите в окне диалога Hypershade (Редактор узлов) материал gold и нажмите комбинацию клавиш Ctrl+d, чтобы получить его копию. Новый материал будет называться goldl.
  2. В окне диалога Attribute Editor (Редактор атрибутов) присвойте новому материалу имя chrome. Щелкните на поле образца цвета, расположенном справа от имени параметра Color (Цвет), и введите в поле Hue (Цветовой тон) значение 240. Ползунок параметра Specular Color (Цвет зеркальных бликов) сдвиньте до отказа вправо, чтобы сделать цвет зеркальных бликов чисто-белым. Материал приобретет вид металла с синеватым отливом. Сделайте значение параметра Reflectivity (Отражательная способность) равным 0,85 и назначьте полученный материал большой сфере. Визуализируйте сцену в окне проекции Perspective (Перспектива). Поверхность сферы будет как зеркало отражать окружающие предметы.
  3. Результат визуализации выглядит слегка расплывчатым в местах расположения предметов, отражающих и преломляющих лучи света. Это связано с тем, что для ускорения процесса визуализации качество итогового изображения было занижено. Чтобы сделать его приемлемым, откройте окно диалога Render Globals (Общие параметры визуализации) и в раскрывающемся списке Presets (Предустановленные значения) раздела Anti-Aliasing Quality (Качество сглаживания) выберите вариант Production Quality (Высокое качество), как показано на рис. 8.8. Также имеет смысл увеличить разрешение, которое в текущий момент равно всего 320x240 пикселов. В раскрывающемся списке Presets (Предустановленные значения) раздела Resolution (Разрешение) выберите вариант Full 1024, что приведет к появлению изображения с разрешением 1024x768 пикселов. Теперь процесс визуализации будет отнимать больше времени, но результат того стоит! Чтобы посмотреть изображение в его оригинальном масштабе, нажмите кнопку 1:1 на панели инструментов окна диалога Render View (Визуализатор).

Рис. 8.8. Изменение качества итогового изображения в окне диалога Render Globals

Изображение:

Изображение:

Изображение:

Изображение:

Изображение:

Изображение:

6. Создание основных материалов для модели дома

Создание основных материалов для модели дома

В результате выполнения упражнений в главах 5 и 6 был создан дом. Теперь вам предстоит сделать его изображение более реалистичным с помощью материалов.

Настройка источников света
Перед тем как приступить к созданию текстур, нужно добавить в сцену некоторое количество источников света, чтобы в процессе тестовой визуализации дом был освещен со всех сторон. Для облегчения процесса создания источников света мы предлагаем вам сценарий на языке MEL, результатом выполнения которого будет появление в сцене трех прожекторов.

  1. Нажмите комбинацию клавиш Shift + S, чтобы открыть окно диалога Script Editor (Редактор сценариев).
  2. В нижней части окна диалога Script Editor (Редактор сценариев) появится набор команд, которые нужно выполнить. Поместите курсор после последней команды из этого набора и нажмите комбинацию клавиш Ctrl+Enter.
  3. Нажмите комбинацию клавиш Shift+0, чтобы открыть окно диалога Outliner (Структура). Вы увидите, что в сцене появились три источника света типа Spot Light (Прожектор). Теперь все готово для начала создания материалов.

Упражнение. Материалы для дома

  1. Для более эффективной работы в данном случае необходимо видеть окна Hypershade (Редактор узлов) и Render View (Визуализатор). Выберите в меню оперативного доступа команду Panels > Saved Layouts > Hypershade/Render/Persp (Панели > Варианты компоновки > Редактор узлов/Визуализатор/Перспектива). Помните, что если перед выбором этой команды одно из упомянутых окон было плавающим, оно не может быть использовано в качестве окна проекции.
  2. Для дверной ручки лучше всего подойдет потертый полированный металл. Для начала оставьте видимым только слой DoorL. Если в сцене останутся видимыми такие объекты, как камеры или деформаторы, скройте их, выбрав в меню оперативного доступа команды Show > Cameras (Показать > Камеры) и Show > Deformers (Показать > Деформаторы). Измените масштаб изображения таким образом, чтобы дверная ручка оказалась ясно видимой.
  3. В своей основе материал, который нужно назначить дверной ручке, похож на металл, созданный в предыдущем упражнении. Поэтому просто повторите шаги с восьмого по десятый и присвойте материалу имя DoorKnob-Blinn.

ПРИМЕЧАНИЕ
При использовании дефиса в именах объектов программа автоматически преобразует его в знак подчеркивания.

  1. Убедитесь, что дверная ручка выделена, и назначьте ей материал DoorKnob_ Blinn. Щелкните на третьей слева кнопке панели инструментов окна проекции Render View (Визуализатор), чтобы начать интерактивную фотореалистичную визуализацию. Когда процесс будет закончен, нарисуйте вокруг дверной ручки выделяющую рамку, начав движение указателя мыши с верхнего правого угла и закончив нижним левым. После завершения ее создания рамка станет зеленой. Теперь после каждого внесения изменений в структуру материала будет происходить автоматическая визуализация области внутри рамки.
  1. На данный момент дверная ручка имеет безобразное ярко-желтое пятно, придающее ей нереальный вид. Выделите материал DoorKnob_Blinn в окне Hypershade (Редактор узлов) и откройте для него окно диалога Attr ibute Editor (Редактор атрибутов). Щелкните на поле образца цвета, расположенном справа от имени параметра Specular Color (Цвет зеркальных бликов), и в окне диалога Color Chooser (Выбор цвета) введите в поле Value (Интенсивность) значение 0,45. В результате зеркальный блик станет более тусклым.
  2. Сохраните сцену под именем chOSTexturedHouse. На данный момент в окне проекции Perspective (Перспектива) видна не только дверная ручка, но и сама дверь, так что можно назначить материал и ей.
  3. Используя среднюю кнопку мыши, перетащите еще один образец раскраски Blinn (По Блинну) из области создания узлов в нижнее окно рабочей области. Откройте окно диалога Attribute Editor (Редактор атрибутов) для этого материала и присвойте ему имя Door-Blinn.
  4. Выделите объект Door в окне проекции Perspective (Перспектива). Помните, что в его основе лежит NURBS-примитив Cube (Куб), так что после щелчка на любой из сторон не забудьте нажать клавишу t, чтобы выделить объект целиком.
  5. Щелкните правой кнопкой мыши на новом образце материала в окне диалога Hypershade (Редактор узлов) и выберите в появившемся контекстном меню команду Assign Material to Selection (Назначить материал выделенному объекту). В окне проекции Render View (Визуализатор) произойдет автоматическое обновление изображения.
  6. Теперь пришло время настроить параметры материала в окне диалога Attribute Editor (Редактор атрибутов). Для двери нам нужен материал, имитирующий дерево, поэтому щелкните на поле образца цвета, расположенном справа от имени параметра Color (Цвет), и присвойте параметрам Hue (Цветовой тон), Saturation (Насыщенность) и Value (Интенсивность) значения 40, 0,8 и 0,3 соответственно. Сделайте параметр Eccentricity (Эксцентриситет) равным 0,5, чтобы увеличить размер зеркальных бликов, и сделайте цвет этих бликов немного светлее основного цвета двери. Для этого щелкните на поле образца цвета, расположенном справа от имени параметра Specular Color (Цвет зеркальных бликов), и присвойте параметрам Hue (Цветовой тон), Saturation (Насыщенность) и Value (Интенсивность) значения 40,- 0,4 и 0,5 соответственно. Напоследок введите в поле параметра Reflectivity (Отражательная способность) значение 0 и сохраните сцену.
  7. Теперь займемся созданием материала для окон. Скройте слой DoorL и сделайте видимым слой Windows!..
  8. Создайте анизотропный материал, присвоив ему имя Window_Anisotropic. Введите в поле параметра Diffuse (Цвет диффузного рассеяния) значение 1, цвет материала сделайте черным, ползунок параметра Transparency (Прозрачность) переместите до отказа вправо, а коэффициент преломления (напоминаем, что поле данного параметра находится в разделе Raytrace Options (Параметры трассирования)) сделайте равным 1,5.
  9. Щелкните на поверхности оконного стекла и убедитесь, что в верхней части окна каналов появилось имя объекта Window_Glass. Назначьте объекту материал Window_Anisotropic. Повторите эту операцию для второго оконного стекла и сохраните сцену. Обратите внимание, что благодаря прозрачности материала теперь невозможно увидеть плоскость, которая служит основой стекла. Но ее по-прежнему можно выделить, щелкнув в том месте, где она должна располагаться.
  10. Для оконного переплета нужен материал, имитирующий дерево, примерно такой же, как и для двери. Впоследствии материал можно будет использовать для остальных деревянных поверхностей модели. В этом случае она будет выглядеть более реалистично. В конце концов, при создании дома применяется одно и то же дерево. Кроме того, это проще, чем создать новый материал для каждого элемента сцены. На вкладке Materials (Материалы) окна проекции Hypershade (Редактор узлов) выделите материал DoorKnob_BHnn и нажмите комбинацию клавиш Ctrl+d, чтобы продублировать его. Присвойте копии имя Trim_Blinn.
  11. В большинстве случаев для редактирования параметров материала используется окно диалога Attribute Editor (Редактор атрибутов). Но сейчас попробуем сделать это с помощью окна каналов. Введите в поля Color R (Красный), Color G (Зеленый) и Color В (Синий) раздела Trim_Blinn значения 0,4, 0,35 и 0,25 соответственно, как показано на рис. 8.9. Цвет копии станет темнее цвета исходного материала.
  12. Выделите один из объектов Window_Frame и назначьте ему материал Trim_ Blinn. Теперь нужно назначить этот же материал горизонтальной и вертикальной перегородкам окна. В окне диалога Outliner (Структура) щелкните на квадратике со знаком «плюс», расположенном справа от имени объекта Old_House, затем тем же способом раскройте группы Windows и Window и выделите названия объектов Window_CrossH и Window_CrossV. Щелкните правой кнопкой мыши на материале Trim_Blinn и выберите в появившемся контекстном меню команду Assign Material to Selection (Назначить материал выделенному объекту). Проделайте вышеописанные операции со вторым окном.
  13. Итак, создание основных материалов для окон закончено. Скройте слой WindowsL и сохраните сцену.

Рис. 8.12. Окно каналов является альтернативным инструментом для редактирования параметров материала

Упражнение. Создание дополнительных материалов
До этого момента созданный материал тут же назначался объекту сцены. В этом разделе мы продемонстрируем другой способ работы с материалами. Вам предстоит назначить материалы следующим частям дома:

  • вертикальным элементам перил;
  • горизонтальным элементам перил;
  • внешним стенам;
  • фундаменту дома;
  • дымовой трубе;
  • дымоходу;
  • крыше.

Так как на данном этапе вы будете заниматься исключительно созданием материалов, остальные окна проекции пока не нужны. Щелкните на окне Hypershade (Редактор узлов) и нажмите клавишу Пробел, чтобы развернуть его на весь экран. Увеличение рабочего пространства увеличит продуктивность вашей работы.
Вы можете продолжить редактирование сцены, полученной в процессе выполнения предьщущего упражнения.

ПРИМЕЧАНИЕ
Для получения дополнительного рабочего пространства можно скрыть элементы пользовательского интерфейса, воспользовавшись командой Display > Ш Elements > Hide UI Elements (Отображение > Элементы интерфейса > Скрыть элементы интерфейса). В результате исчезнут все элементы от строки состояния до строки подсказки. Восстановить элементы интерфейса можно, выбрав в том же самом меню команду Restore UI Elements (Восстановить элементы интерфейса).

  1. Для вертикальных и горизонтальных элементов перил используем два разных материала. Выделите материал Trim_Blinn и дважды его продублируйте. Присвойте первой копии имя VertPorchRaiLBlinn, а второй - имя HorizPorchRaiL Blinn. На данный момент это все, что требовалось сделать.
  2. Теперь на очереди стены дома. Перетащите средней кнопкой мыши вариант раскраски PhongE (Расширенная по Фонгу) из области создания узлов в нижнее окно рабочей области. Присвойте этому материалу имя Foundation_PhongE. Так как фундамент по замыслу должен быть немного влажным от росы, расширенный вариант раскраски по Фонгу подходит для создания материала наилучшим образом. Затем создайте еще один материал на основе раскраски Blinn (По Блинну) и присвойте ему имя Walls_Blinn.
  3. Откройте редактор атрибутов для материала Foundation_PhongE. Щелкните на поле образца цвета, расположенном справа от имени параметра Color (Цвет), и присвойте параметрам Hue (Цветовой тон), Saturation (Насыщенность) и Value (Интенсивность) значения 65, 0,45 и 0,35 соответственно, нажмите кнопку Accept (Принять). Параметр Diffuse (Цвет диффузного рассеяния) сделайте равным 0,7, а значение параметра Roughness (Шероховатость), отвечающего за фокусировку зеркальных бликов, увеличьте до 0,81. Размер зеркальных бликов сделайте равным 0,15, введя это значение в поле Highlight Size (Размер бликов). Параметру Reflectivity (Отражательная способность) присвойте нулевое значение. Напоследок щелкните на поле образца цвета, расположенном справа от названия параметра Whiteness (Белизна), который определяет цвет зеркальных бликов, и введите в поля Hue (Цветовой тон), Saturation (Насыщенность) и Value (Интенсивность) значения 270, 0,01 и 0,2 соответственно.
  4. Выделите материал Walls_Blinn на вкладке Materials (Материалы) окна Hypershade (Редактор узлов) и введите в поля Color R (Красный), Color G (Зеленый) и Color В (Синий) окна каналов значения 0,9, 0,68 и 0,4 соответственно. Цвет материала должен стать оранжево-коричневым.
  5. Теперь создадим материал для трубы, используя раскраску по Ламберту. Труба состоит из кирпичей, которые не имеют никаких зеркальных бликов, поэтому данный тип раскраски подходит для них наилучшим образом. Перетащите средней кнопкой мыши образец раскраски Lambert (По Ламберту) из области создания узлов в нижнее окно рабочей области Hypershade (Редактор узлов) и присвойте новому материалу имя ChimneyBase_Lambert. Продублируйте его и присвойте копии имя ChimneyPipe_Lambert. Выделите материал ChimneyBase_Lambert на вкладке Materials (Материалы). Откройте редактор атрибутов и присвойте материалу тускло-красный цвет. Для этого щелкните на поле образца цвета, расположенном справа от имени параметра Color (Цвет), и введите в поля параметров Saturation (Насыщенность) и Value (Интенсивность) значения 0,6 и 0,5 соответственно. Затем выделите на вкладке Materials (Материалы) материал ChimneyPipe_ Lambert и проделайте вышеописанную операцию, используя параметры 0,4 и 0,5.
  6. Последний материал, который нужно создать, предназначен для крыши. Пока вы еще не использовали раскраску по Фонгу, которая идеально подойдет в данном случае, когда требуется имитировать влажный материал. Перетащите средней кнопкой мыши образец раскраски Phong (По Фонгу) из области создания узлов в нижнее окно рабочей области Hypershade (Редактор узлов) и присвойте новому материалу имя Roof_Phong. В окне каналов введите в поля Color R (Красный), Color G (Зеленый) и Color В (Синий) значения 0,34, 0,312 и 0,102 соответственно. В итоге получится темный зеленовато-коричневый цвет.
  7. В данный момент вкладка Work Area (Рабочая область) перенасыщена материалами и желательно привести ее в порядок. Щелкните в произвольном месте рабочей области правой кнопкой мыши и выберите в появившемся контекстном меню команду Graph > Rearrange Graph (Узлы > Упорядочить узлы). Вид окна Hypershade (Редактор узлов) после этой операции показан на рис. 8.10. Теперь у вас есть набор материалов, которые можно назначить соответствующим объектам сцены. Сохраните сцену.

Рис. 8.10. Набор материалов, созданных для объектов сцены в рабочей области окна Hypershade

  1. Для дальнейших действий потребуется окно проекции Perspective (Перспектива), окно Outliner (Структура) и окно Hypershade (Редактор узлов). Выберите в меню оперативного доступа команду Panels > Saved Layouts > Hypershade/Outliner/ Persp (Панели > Варианты компоновки > Редактор узлов/Схема сцены/Перспектива). Наличие окна Outliner (Структура) позволяет быстро выделить нужный объект сцены, избежав при этом путаницы. В окне Hypershade (Редактор узлов) нажмите кнопку Show Top Tabs Only (Показывать только верхнее окно). Это первая слева кнопка из группы, расположенной в верхнем правом углу окна Hypershade (Редактор узлов). Ее точное местонахождение показано на рис. 8.1. Чтобы расширить рабочее пространство, щелкните на кнопке Toggle the Create Bar On/Off (Вкл./выкл. область создания узлов). Затем выберите в меню оперативного доступа команду Display > UI Elements > Hide UI Elements (Отображение > Элементы интерфейса > Скрыть элементы интерфейса), а затем, нажав комбинацию клавиш Shift+C, сделайте видимым окно каналов. Это даст вам возможность работать с отдельными слоями. Вид окна программы после всех вышеописанных манипуляций показан на рис. 8.11.



Рис. 8.11. Используя окна проекции Perspective, Outliner и Hypershade, можно легко назначить созданные материалы объектам сцены

  1. В окне Outliner (Структура) все элементы находятся в группе Old_House. Сделайте видимыми все слои. Для начала выделите в окне Outliner (Структура) объект OuterWall. В окне проекции Perspective (Перспектива) вокруг этого объекта должен появиться зеленый каркас. Щелкните правой кнопкой мыши на образце материала Walls_Blinn в окне Hypershade (Редактор узлов) и выберите в появившемся контекстном меню команду Assign Material to Selection (Назначить материал выделенному объекту). Сделайте активным окно проекции Perspective (Перспектива) и нажмите клавишу 7, чтобы гарантировать, что сцена освещается всеми имеющимися источниками света.
  2. Выделите в окне Outliner (Структура) объект Foundation и назначьте ему материал Foundation_PhongE. Теперь внешние стены дома имеют цвет назначенных им материалов.
  3. Выделите трубу и назначьте ей материал ChimneyBase_Lambert. Затем, раскрыв группу Chimney, выделите объект Chimney_Top и назначьте ему материал
    ChimneyPipe_Lambert. Несмотря на то что изначально материал, предназначенный для основания трубы, был назначен дымоходу, это не оказало никакого эффекта на вид материала ChimneyPipe_Lambert, который был назначен поверх него.
  4. Раскройте группу Roof и, выделив объект Roof_Slab, назначьте ему материал Trim_Blinn. Затем выделите объект Shingles и назначьте ему материал Roof_ Phong. Проделайте то же самое для подгруппы RoofSidel.
  5. Сверните группу Roof в окне Outliner (Структура) и сделайте слой RoofL невидимым. Сохраните сцену.
  6. Теперь осталось назначить материал частям крыльца. Выделите объект PorchTrim и назначьте ему материал Trim_Blinn. Затем выделите объекты Porch_RailBars, Porch_Legs и Porch_Poles, которым следует назначить материал VertPorchRail_ Blinn. Напоследок назначьте материал HorizPorchRail_Blinn объектам PorchFloor, Porch_Stairs и Porch_HandRails.
  7. Назначение базовых материалов объектам сцены закончено. В следующем разделе мы поговорим о том, как увеличить детализацию объектов с помощью текстур. Скройте слой PorchL и сохраните сцену.

3.

Карты текстур

Следующим шагом в работе над сценой будет замена созданных базовых материалов текстурами. Обычно этот термин относится к двумерным изображениям, воспроизводящим рисунок той или иной поверхности, обернутой вокруг трехмерного объекта. Их проекция на поверхность может осуществляться различными способами.

Проекционные координаты
Проекционные координаты, которые иногда также называют 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 (Мрамор), идеально имитируют природные материалы. Даже при моделировании объектов, созданных руками человека, не обойтись без этих карт. Имитация мозаики, ковровых покрытий или картины, нарисованной кистью на стене, происходит на основе именно трехмерных карт текстур.

Упражнение. Назначение текстур
Это упражнение посвящено назначению некоторым характеристикам материалов карт текстур и редактированию положения этих карт на поверхности объекта. Вы можете продолжить работу над сценой, полученной в результате выполнения первого упражнения данной главы.

  1. Откройте окно диалога Hypershade (Редактор узлов), нажав комбинацию клавиш Shift+T. Вам понадобятся как оба окна рабочей области, так и область создания узлов. Щелкните правой кнопкой мыши на верхней панели области создания узлов и выберите в появившемся меню вариант Create Materials (Создание материалов). Средней кнопкой мыши перетащите образец раскраски Blinn (По Блинну) в нижнее окно рабочей области и дважды щелкните на нем, чтобы открыть окно диалога Attribute Editor (Редактор атрибутов).
  2. Присвойте материалу имя checkerfloor. Щелкните на кнопке, расположенной справа от имени параметра Color (Цвет). Появится окно диалога Create Render Node (Создать узел визуализации), открытое на вкладке Textures (Текстуры), как показано на рис. 8.12. Эта вкладка содержит перечень всех возможных двумерных и трехмерных процедурных и обычных текстур. Щелкните на кнопке с надписью Checker (Шахматное поле), чтобы назначить указанную текстуру характеристике материала Color (Цвет).

Рис. 8.12. Окно диалога Create Render Node содержит все возможные типы карт текстур

  1. Разверните окно проекции Perspective (Перспектива) на полный экран и нажмите клавишу 5, чтобы гарантировать, что вы находитесь в режиме тонированной раскраски. Выберите в меню оперативного доступа команду Shading > Hardware Texturing (Затенение > Аппаратное наложение текстур).
  2. В данном случае для назначения материала объекту следует воспользоваться приемом «перетащить и оставить». Средней кнопкой мыши щелкните на ячейке образца материала checkerfloor, расположенной в верхнем окне рабочей области, перетащите указатель мыши в окно проекции и положите материал на плоскость пола. После этого пол должен приобрести вид шахматной доски.
  3. Выделите ячейку с образцом материала checkerfloor в окне диалога Hypershade (Редактор узлов), чтобы сделать его активным в редакторе атрибутов. В раскрывающемся списке Texture Quality (Качество текстуры) раздела Hardware Texturing (Аппаратное наложение текстур) выберите вариант High (Высокое). В результате рисунок шахматной доски станет более четким.
  4. В окне диалога Attribute Editor (Редактор атрибутов) поле образца цвета для материала checkerfloor имеет светло-серый цвет. Обратите внимание, что рисунок в виде шахматной доски на расположенной справа кнопке сменился указывающей вправо стрелкой. Это значит, что цвет материала был заменен картой текстуры. Нажмите эту кнопку, чтобы посмотреть на параметры карты текстуры Checker (Шахматное поле).
  5. Появится раздел Checker Attributes (Параметры шахматного поля), показанный на рис. 8.13. Здесь можно, к примеру, изменить цвет клеток. Нажмите кнопку с рисунком шахматной доски, расположенную справа от имени параметра Colorl (Первый цвет), и выберите в появившемся окне диалога Create Render Node (Создать узел визуализации) текстуру Marble (Мрамор). Это приведет к замене белых клеток трехмерной текстурой, имитирующей мрамор.

Рис. 8.13. Раздел Checker Attribute в окне диалога Attribute Editor

ПРИМЕЧАНИЕ
Чтобы после назначениятекстуры вернуться к исходному узлу, нажмите кнопку с указывающей вправо стрелкой, расположенную справа от названия материала в верхней части окна диалога Attribute Editor (Редактор атрибутов). Для отмены назначения текстуры характеристике материала щелкните на имени этой характеристики правой кнопкой мыши и выберите в появившемся контекстном меню команду Break Connection (Разорвать связь).

  1. В окне диалога Attribute Editor (Редактор атрибутов) в данный момент показаны параметры текстуры мрамора. Увеличим прожилки на этой текстуре. Перейдите на вкладку placeSdTexture и введите в текстовые поля, расположенные справа от имени параметра Scale (Масштаб), значение 10. Визуализируйте окно проекции Perspective (Перспектива), чтобы посмотреть на полученный результат. Как легко заметить, пол отражает некоторые предметы. Это связано с тем, что значение параметра Reflectivity (Отражательная способность) материала, назначенное полу, равно 0,5.
  2. Теперь назначим материал с текстом «Maya 4 Fundamentals» объекту в форме щита, полученному на основе сетки полигонов. Создайте новый материал, используя раскраску Blinn (По Блинну), и откройте для него окно диалога Attribute Editor (Редактор атрибутов). Присвойте материалу имя m4fshUd. Нажмите кнопку с рисунком шахматной доски, расположенную справа от имени параметра Color (Цвет), и в окне диалога Create Render Node (Создать узел визуализации) щелкните на кнопке с надписью File (Файл) в разделе 2D Textures (Двумерные текстуры). Справа от текстового поля Image Name (Имя изображения) находится кнопка со значком папки, щелчок на которой приводит к появлению окна диалога, предназначенного для выбора файла с рисунком. Перетащите средней кнопкой мыши материал m4fshild из верхнего окна рабочей области на объект, имеющий форму щита. В результате на его поверхности появится искаженная текстура. Объект Shield получен из сетки полигонов методом вращения. Проекционные координаты расположены по кругу в направлении вращения сплайна. Но нам нужно, чтобы надпись располагалась поперек щита, поэтому потребуется создать для него новые проекционные координаты.
  3. Выделите объект Shield и выберите в меню оперативного доступа команду Edit Polygons > Texture > Planar Mapping (Редактирование полигонов > Текстура > Плоские проекционные координаты). На поверхности объекта появятся управляющие векторы проекционных координат.
  4. Теперь можно изменить размер и положение манипулятора карты. В одном из его углов находится красная буква L. Если ее выделить, она приобретет желтый цвет, а в центре появятся три набора управляющих векторов - одно кольцо (для активизации преобразования Rotate (Повернуть)), а также значки преобразований Scale (Масштабировать) и Move (Переместить), как показано на рис. 8.14. С помощью этих управляющих векторов можно расположить текстуру на поверхности объекта требуемым образом. Имейте в виду, что повторный щелчок на букве L приведет к исчезновению управляющих векторов и возвращению в исходный режим, в котором можно менять размер карты текстуры.

Рис. 8.14. Управляющие векторы плоских проекционных координат были слегка отодвинуты от объекта для большей наглядности. Чтобы сделать их видимыми, нужно щелкнуть на красной букве L, расположенной в углу манипулятора

  1. Визуализируйте сцену, чтобы посмотреть на полученный результат. Он показан на рис. 8.15.

Рис. 8.15. Результат визуализации сцены после редактирования положения карты текстуры на поверхности объекта Shield. Обратите внимание, что в режиме тонированной раскраски стеклянное кольцо стало невидимым

СОВЕТ
Если нужно вернуть управляющие векторы, отвечающие за положение текстуры, выделите объект, откройте окно каналов, нажав комбинацию клавиш Shift+C, и щелкните на строчке polyPlanarProj. Если в результате управляющие векторы не появились, выберите в меню оперативного доступа команду Display > UI Elements > Tool Box (Отображение > Элементы интерфейса > Панель инструментов), нажмите шестую сверху кнопку Show Manipulator (Отображение манипулятора) и повторите щелчок на названии polyPlanarProj.

Изображение:

Изображение:

Maya: Результат визуализации сцены после редактирования положения карты текстуры на поверхности объекта Shield. Обратите внимани

Изображение:

Maya: Управляющие векторы плоских проекционных координат были слегка отодвинуты от объекта для большей наглядности. Чтобы сделат

Изображение:

Изображение:

Изображение:

Изображение:

Изображение:

Изображение:

8. Добавление текстур к базовым материалам

Добавление текстур к базовым материалам

Теперь вы уже имеете представление о способе назначения текстур и их размещения на поверхностях объектов. В следующем упражнении вам предстоит использовать свои знания для назначения текстур базовым материалам, созданным для различных элементов дома.

Упражнение. Назначение текстур дверной ручке, стенам и окнам
Использование одноцветного материала для дверных ручек, к сожалению, не дает нужного эффекта. Ранее мы уже упоминали, что, назначив карту текстуры характеристике материала Diffuse (Цвет диффузного рассеяния), можно придать объекту изношенный вид. Именно это нужно проделать с материалом дверной ручки.

  1. Прежде всего загрузите нужную сцену. Вы можете продолжить редактирование сцены с домом.
  2. Для начала скройте элементы интерфейса, а затем выберите в меню оперативного доступа команду Panels > Saved Layouts > Hypershade/Render/Persp (Панели > Варианты компоновки > Редактор узлов/Визуализатор/Перспектива).
  3. Оставьте видимым только слой DoorL. Выделите дверную ручку и нажмите клавишу f, чтобы целиком поместить ее в границах экрана. Запустите интерактивную фотореалистичную визуализацию, нажав третью слева кнопку на панели инструментов окна Render View (Визуализатор), и выделите рамкой область, которая будет повторно визуализироваться при каждом редактировании материала.
  4. Если в рабочей области окна Hypershade (Редактор узлов) не видна одна из частей, нажмите кнопку Show Top and Bottom Tabs (Показывать верхнее и нижнее окна), расположенную в правом верхнем углу панели инструментов этого окна. Дважды щелкните на образце материала DoorKnob_Blinn, чтобы открыть окно диалога Attribute Editor (Редактор атрибутов). Щелкните на кнопке с рисунком в виде шахматной доски, расположенной справа от имени параметра Diffuse (Цвет диффузного рассеяния), чтобы открыть окно диалога Create Render Node (Создать узел визуализации). Убедитесь, что переключатель раздела 2D Textures (Двумерные текстуры) стоит в положении Normal (По нормали). В этом случае размещение карты текстуры будет происходить с учетом геометрии поверхности. Затем щелкните на кнопке Fractal (Фрактал). В окне диалога Attribute Editor (Редактор атрибутов) появятся параметры выбранной текстуры. Обратите внимание на обновление окна Render View (Визуализатор).
  5. Соответствующим образом изменив параметры процедурной текстуры, можно создать впечатление потертого материала. В разделе Fractal Attributes (Параметры фрактала) присвойте параметрам Amplitude (Амплитуда), Threshold (Порог), Ratio (Пропорциональность) и Frequency Ratio (Частотный коэффициент) значения 0,5, 0,1, 0,77 и 8 соответственно, как показано на рис. 8.16. Перейдите на вкладку place2dTexture и в разделе 2D Texture Placement Attributes (Параметры размещения двумерной текстуры) введите во второе поле справа от имени параметра Repeat UV (Повторение по UV-осям) значение 0,15. И напоследок введите во второе поле, расположенное справа от параметра Noise UV (Зашумление по UV-осям), значение 0,75. Последнее действие приведет к появлению более закрученного фрактала. Закройте окно диалога Attribute Editor (Редактор атрибутов).

Рис. 8.16. Ввод параметров фрактала в окне диалога Attribute Editor

  1. Сфокусируйтесь на объекте DoorG и повторите интерактивную фотореалистичную визуализацию. Дважды щелкните на образце материала Door_Blinn в окне Hypershade (Редактор узлов), чтобы открыть окно диалога Attribute Editor (Редактор атрибутов). Вам предстоит повторить вышеописанную операцию, заменив текстуру Fractal (Фрактал) текстурой Noise (Случайные пятна). В разделе Solid Fractal Attributes (Параметры случайных пятен) введите в поля Amplitude (Амплитуда), Ratio (Пропорциональность), Frequency Ratio (Частотный коэффициент) и Depth Мах (Количество итераций) значения 0,8, 0,35, 20 и 8 соответственно, как показано на рис. 8.17. В раскрывающемся списке Noise Type (Тип случайных пятен) выберите вариант Wispy (Дымка). Затем перейдите на вкладку place2dTexture и введите в первое поле, расположенное справа от имени параметра Repeat UV (Повторение по UV-осям), значение 4. Закройте редактор атрибутов и скройте слой DoorL, так как на этом назначение материалов двери закончено.

Рис. 8.17. Ввод параметров текстуры Noise в окне диалога Attribute Editor

  1. Теперь пришло время добавить текстуру наружным стенам дома. Сделайте видимым слой OuterWallsL и проведите интерактивную фотореалистичную визуализацию, чтобы в окне Render View (Визуализатор) появилось изображение стен. Откройте окно диалога Attribute Editor (Редактор атрибутов) для материала Walls_ Blinn и сделайте параметр Reflectivity (Отражательная способность) равным 0. Назначьте текстуру Noise (Шум) характеристике материала Color (Цвет). Введите в поля параметров Amplitude (Амплитуда), Ratio (Пропорциональность), Frequency Ratio (Частотный коэффициент) и Depth Max (Количество итераций) значения 0,5, 0,77, 2 и 20 соответственно. Параметр Density (Плотность), определяющий число случайных пятен на единицу площади, сделайте равным 5, параметру Spottyness (Неоднородность), задающему случайную плотность отдельных пятен, присвойте значение 0,3, а в раскрывающемся списке Falloff (Спад) выберите вариант Bubble (Пузырьки). В этом случае интенсивность будет спадать до нуля по мере приближения к центру случайного пятна. Вид окна диалога Attribute Editor (Редактор атрибутов) после описанного редактирования параметров показан на рис. 8.18.

Рис. 8.18. Параметры текстуры Noise, назначенной характеристике Color материала Walls_Blinn

  1. В разделе Color Balance (Цветовой баланс) можно легко изменить яркость и контрастность случайных пятен. Щелкните на поле образца цвета, расположенном справа от имени параметра Color Gain (Масштабный коэффициент цвета), и введите в поля Hue (Цветовой тон), Saturation (Насыщенность) и Value (Интенсивность) окна диалога Color Chooser (Выбор цвета) значения 41, 0,315 и 0,656 соответственно. Вы увидите, как текстура изменит свой цвет. Затем сделайте то же самое для параметра Color Offset (Смещение цвета), используя значения 45,5, 0,393 и 0,12. Перейдите на вкладку placeZdTexture и введите во второе поле справа от имени параметра Repeat UV (Повторение по UV-осям) значение 5, чтобы сжать текстуру по оси V. Сохраните сцену.
  2. Снова выделите материал Walls_Blinn и назначьте характеристике Diffuse (Цвет диффузного рассеяния) карту текстуры Mountain (Горы). На вкладке place2dTexture введите в поля, задающие значения параметра Repeat UV (Повторение по UV-осям), числа 0 и 3 соответственно. А во второе поле, расположенное справа от имени параметра Noise UV (Зашумление по UV-осям), введите значение 0,005. Также нужно отредактировать параметры на вкладке mountain!, как показано на рис. 8.19. Присвойте параметру Amplitude (Амплитуда) значение 0,75, а в поля параметров Snow Altitude (Высота снега) и Snow Dropoff (Спад снега) введите значение 1.

Рис. 8.19. Параметры текстуры Mountain, назначенной характериаике Diffuse материала Walls_Blinn

  1. Теперь перейдем к редактированию материала, назначенного фундаменту. Откройте редактор атрибутов для материала Foundation_PhongE. Назначим характеристике материала Color (Цвет) рисунок из файла. Откройте окно диалога Create Render Node (Создать узел визуализации) и щелкните на кнопке с надписью File (Файл) в разделе 2D Textures (Двумерные текстуры). На вкладке filel можно нажать кнопку со значком папки, расположенную справа от текстового поля Image Name (Имя изображения), и выбрать нужный файл, но существует более простой путь решения данной проблемы.
  2. В меню Tab (Вкладка) окна Hypershade (Редактор узлов) выберите команду Create New Tab (Создать новую вкладку). Появится окно диалога, показанное на рис. 8.20. Введите в поле New Tab Name (Имя новой вкладки) название M4F maps. Переключатель Initial Placement (Разместить) установите в положение Bottom (В нижнем окне), а переключатель Tab Type (Тип вкладки) - в положение Disk (С диска). В поле Root Directory (Корневая директория) введите маршрут доступа к файлам с текстурами. Нажмите кнопку Create (Создать).

Рис. 8.20. Окно диалога Create New Tab

  1. В окне Hypershade (редактор узлов) перейдите на только что созданную вкладку M4F maps. Там появились образцы всех текстур, находящихся в указанной вами папке. Помните, что при работе с окном Hypershade (Редактор узлов) также можно пользоваться прокруткой и изменять масштаб. Выделите образец obblestone.t,f и перетащите его средней кнопкой мыши в поле Image Name (Имя изображения) окна диалога Attribute Editor (Редактор атрибутов) Там автоматически появится маршрут доступа к нужному файлу. Нажмите клавишу Enter и в поле Texture Sample (Образец текстуры) появится образец текстуры, как показано на рис. 8.21.

Рис. 8.21. Результат связывания текстуры cobblestone.tif с узлом File

  1. Перейдите на вкладку place2dTexture и введите в поля, расположенные справа от параметра Repeat UV (Повторение по UV-осям), значения 3 и 2 соответственно. Выделите материал Foundation_PhongE в окне Hypershade (Редактор узлов) и присвойте характеристике Diffuse (Цвет диффузного рассеяния) карту текстуры Noise (Шум). Введите в поля параметров Amplitude (Амплитуда), Ratio (Пропорциональность), Frequency Ratio (Частотный коэффициент) и Depth Max (Количество итераций) значения 0,7, 0,77, 5 и 2 соответственно. Параметр Frequency (Частота), определяющий, сколько раз будут перемешаны цвета текстуры, сделайте равным 10. В раскрывающемся списке Noise Type (Тип шума) выберите вариант Perlin Noise (Перлинов шум). Окно диалога Attribute Editor (Редактор атрибутов) после ввода всех параметров показано на рис. 8.22.

Рис. 8.22. Назначив цвету диффузного рассеяния карту текстуры Noise, вы сделаете булыжники, формирующие фундамент дома, грязными

  1. Скройте слой OuterWalls и сделайте видимым слой ChimneyL. Измените масштаб таким образом, чтобы уместить трубу целиком в границах окна проекции Perspective (Перспектива), и проведите интерактивную фотореалистичную визуализацию. Если вам не удается как следует рассмотреть ее по причине слабой освещенности, выделите в окне диалога Outliner (Структура) источник света spotLight2 и в окне каналов увеличьте его интенсивность до величины 1,2.
  2. Откройте окно диалога Attribute Editor (Редактор атрибутов) для материала ChimneyBase_Lambert и назначьте характеристике Color (Цвет) растровое изображение bricks.tif, повторив действия, описанные в шаге 12.
  3. После завершения интерактивной фотореалистичной визуализации окажется, что кирпичи вытянуты в вертикальном направлении. Для решения данной проблемы щелкните правой кнопкой мыши на образце материала ChimneyBase_ Lambert в окне Hypershade (Редактор узлов) и выберите в появившемся контекстном меню команду Graph Network (Сеть узлов). Выделите узел placeZdTexture и введите во второе поле, расположенное справа от имени параметра Repeat UV (Повторение по UV-осям), значение 6. На данный момент кирпичики выглядят слишком чистыми, поэтому нужно добавить карту текстуры Solid Fractal (Пространственный фрактал) из раздела 3D Textures (Трехмерные текстуры) характеристике материала Diffuse (Цвет диффузного рассеяния). В разделе 3d Texture Placement Attributes (Параметры размещения трехмерной текстуры) вкладки place-3dTexture окна диалога Attributes Editor (Редактор атрибутов) щелкните на кнопке Fit to group bbox (Совместить с габаритным контейнером группы). Перейдите на вкладку solidFractal и присвойте параметрам Amplitude (Амплитуда) и Frequency Ratio (Частотный коэффициент) значения 0,5 и 5 соответственно. В поля, расположенные справа от имени параметра Ripples (Рябь), введите числа 2,3 и 5. Значения параметра Bias (Смещение) сделайте равным 0,05.
  4. В окне проекции Perspective (Перспектива) поверните трубу. Обратите внимание, что на двух сторонах текстура развернута в неверном направлении, как показано на рис. 8.23. Дело в том, что направление поверхности там перпендикулярно направлению лицевой поверхности трубы. Другим словами, координаты U и V просто поменялись местами, что типично для NURBS-поверх-ностей. Чтобы решить эту проблему, выделите сторону трубы, на которой текстура расположена неверным образом, и в контекстном меню, вызываемом с помощью комбинации клавиш Alt+z, щелкните на квадратике, расположенном справа от команды Reverse Surface Direction (Изменить направление поверхности). Убедитесь, что переключатель Surface Direction (Направление поверхности) стоит в положении Swap (Обмен), и нажмите кнопку Reverse (Поменять). Чтобы увидеть новый вид текстуры, повторите интерактивную фотореалистичную визуализацию.
  5. Перед тем как приступить к дальнейшему редактированию материалов, сохраните сцену. Нам осталось добавить текстуру характеристике Transparency (Прозрачность) материала Window_Anisotropic. Сделайте видимыми все слои, кроме PorchL. Если сейчас прибегнуть к интерактивной фотореалистичной визуализации, вы не заметите никаких особенных эффектов, так как трассирование пока что не осуществляется. В окне диалога Attribute Editor (Редактор атрибутов) назначьте характеристике Transparency (Прозрачность) карту текстуры Ramp (Линейный градиент).
  6. На основе карты текстуры Ramp (Линейный градиент) создается большое количество различных эффектов. Ее можно рассматривать как градиент перехода одного цвета в другой. В раскрывающемся списке Туре (Тип) выберите вариант Circular Ramp (Круговой градиент), как показано на рис. 8.24. Теперь можно указать области прозрачности, сделав цвет градиента белым. Убедитесь, что в раскрывающемся списке Interpolation (Интерполяция) выбран вариант Linear (Линейная).

Рис. 8.23. Изменение направления поверхности решит проблему с неправильным положением текстуры

  1. Результатом назначения характеристике материала Transparency (Прозрачность) карты текстуры будет увеличение прозрачности рядом с краями стекла. С помощью интерактивной фотореалистичной визуализации можно настроить спад прозрачности. В окне диалога Attribute Editor (Редактор атрибутов) в качестве основных цветов, между которыми совершаются переходы, выбраны синий, зеленый и красный. Для смещения границы между ними используйте цветные круги, расположенные слева от образца текстуры. Удалить любой из цветов можно, щелкнув на квадратах, расположенных справа. Щелкните на зеленом квадрате, удаляя данный цвет, а потом выделите синий круг. При этом поле образца цвета, расположенное справа от имени параметра Selected Color (Выделенный цвет), станет синим. Измените этот цвет, сделав его почти черным. В поле Selected Position (Положение выделенного цвета) введите значение 0,81, параметр U Wave (Отклонение волны по оси U) сделайте равным 0,15. Величину шума (параметр Noise) сделайте равной 0,15, а параметру Noise Freq (Частота шума) присвойте значение 0,6. Наблюдайте в окне Render View (Визуа-лизатор), как вид материала меняется при каждом редактировании параметров. Выделите красный кружок, расположенный слева от образца текстуры, и измените красный цвет на белый. В поле параметра Selected Position (Положение выделенного цвета) введите значение 0,415. Не забудьте сохранить сцену.
  2. Карты рельефа

    Назначение карты рельефа поверхности объекта создает иллюзию наличия трехмерных неровностей, не меняя при этом его фактической геометрии. Кажущаяся рельефность настраивается при помощи изменения яркости отсчетов текстурной карты. Именно поэтому карты рельефа обычно являются изображениями в оттенках серого. Серый цвет рассматривается, как плоская поверхность, более светлые области выступают над ней, а более темные - формируют впадины. В областях изменения яркости и происходит формирование иллюзии рельефа. Так как отсутствие реального рельефа можно заметить при взгляде на поверхность сбоку, формирование его с помощью карт используется только при работе с небольшими деталями. К примеру, вполне допустимо применить карту рельефа для имитации пор на коже носа, но никто не станет назначать ее для имитации носа. Тем не менее с помощью карт рельефа можно успешно формировать различные поверхности - ткани, волокна древесины, дефекты металла и пр. - при условии, что камера не подносится к ним слишком близко.

    Координирование текстуры с картой рельефа
    При искусном сочетании карт текстуры и рельефа можно получить потрясающую детализацию поверхности, даже на примере простой модели. Художники часто создают такие карты в программах для рисования и аккуратно совмещают расположение рельефных областей карты, выполненной в оттенках серого, с соответствующими цветными областями карты текстуры. Как уже говорилось, в Maya рельеф формируется на основе яркости отсчетов текстурной карты. При этом желательно, чтобы изображение было не очень контрастным, но отчетливо наблюдались переходы между белым и черным цветами.

    Упражнение. Назначение карты рельефа
    В этом упражнении вам предстоит назначить эффект случайных пятен характеристике Bump Mapping (Карта рельефа) материала, используемого для имитации глины. Это придаст цветочному горшку более естественный вид.

    1. Загрузите файл ch08tut04end.mb.В рабочей области окна Hypershade (Редактор узлов) перетащите средней кнопкой мыши образец материала pottery из верхнего окна в нижнее.
    2. Дважды щелкните на этом образце материала, чтобы открыть для него окно диалога Attribute Editor (Редактор атрибутов). Щелкните на кнопке с рисунком шахматной доски, расположенной справа от имени параметра Bump Mapping (Карта рельефа), чтобы открыть окно диалога Create Render Node (Создать узел визуализации).
    3. Нажмите кнопку Solid Fractal (Пространственный фрактал) в разделе 3D Textures (Трехмерные текстуры). В разделе 3d Bump Attributes (Параметры трехмерного рельефа) расположены два параметра: Bump Value (Уровень рельефа) и Bump Depth (Высота рельефа). Обратите внимание, что последний параметр по умолчанию имеет значение 1. Его можно увеличить или уменьшить с помощью ползунка, расположенного справа от имени параметра. Щелкните на кнопке с указывающей вправо стрелкой, расположенной справа от имени параметра Bump Value (Уровень рельефа), чтобы получить возможность редактирования параметров фрактала, на основе которого формируется рельеф.
    4. Сделайте величину параметра Ratio (Пропорциональность) равной единице.
    5. Перейдите на вкладку place3dTexture. В принципе работать с этим узлом можно и на вкладке Work Area (Рабочая область) окна Hypershade (Редактор узлов). Введите в поля, расположенные справа от имени параметра Scale (Масштаб), значение 50.
    6. Визуализируйте сцену, чтобы посмотреть, как изменился вид цветочного горшка.

    Упражнение. Использование карт рельефа для материалов, назначенных частям дома
    Применение карт рельефа в материалах, назначенных различным элементам дома, требует намного больших усилий. В этом упражнении мы на примере трех материалов дадим вам представление о том, как это можно сделать Итак вам предстоит изменить вид трубы, фундамента и внешних стен. 1. Продолжите редактирование созданной вами сцены с домом или загрузите файл ch08tutOSend.mb. Так как карты рельефа определяются яркостью изображения в оттенках серого, иногда имеет смысл взять рисунок текстуры и преобразовать его, как показано на рис. 8.25. После того как вы получили карту рельефа, остается только совместить ее с изображением текстуры, назначенной объекту.


    Рис. 8.25. Карты рельефа, показанные снизу, были получены преобразованием исходных текстур в изображения в оттенках серого

    1. Выберите в меню оперативного доступа команду Panels > Saved Layouts > Hypershade/Render/Persp (Панели >Варианты компоновки > Редактор узлов/Визуализатор/Перспектива). Оставьте видимым только слой Doorl. Дело в том, что материалу двери будет проще всего назначить карту рельефа. Так как объект представляет собой плоскости, существует возможность использовать карту рельефа практически любого типа. Измените положение двери в окне проекции Perspective (Перспектива) таким образом,чтобы она располагалась под небольшим углом. В противном случае будет затруднительно наблюдать полученный эффект. Проведите интерактивную фотореалистичную визуализацию.
    2. Откройте окно диалога Attribute Editor (Ректор атрибутов) для материала и щелкните на кнопке с рисунком шахматной доски, расположенной справа от имени параметра Bump Mapping (Карта рельефа). В окне диалога Create Render Node (Создать узел визуализации) щелкните на кнопке с надписью File (Файл) в разделе 2D Textures (Двумерные текстуры).
    3. Карта рельефа назначена практически идеально. Древесные волокна расположены вертикально. Перейдите на вкладку bamp2d и уменьшите величину параметра Bump Depth (Высота рельефа) до значения 0,6. Щелкните на кнопке с указывающей вправо стрелкой, расположенной справа от имени параметра Bump Value (Уровень рельефа), и перейдите на вкладку placeZdTexture. Введите во второе поле, расположенное справа от имени параметра Repeat UV (Повторение по UV-осям), значение 0,7. В первое поле, расположенное справа от имени параметра Noise UV (Зашумление по UV-осям), введите значение 0,1, чтобы сделать вертикальные линии более волнистыми. Разница между видом двери до и после назначения ее материалу карты рельефа показана на рис. 8.26.

    Рис. 8.26. Дверь до и после назначения карты рельефа

    1. Теперь добавим карту рельефа материалу, назначенному стенам дома. Сделайте видимым слой OuterWalls, сфокусируйтесь на передней левой стороне объекта и проведите интерактивную фотореалистичную визуализацию. Откройте окно диалога Attribute Editor (Редактор атрибутов) для материала Walls_Blinn. Щелкните на кнопке с рисунком шахматной доски, расположенной справа от имени параметра Bump Mapping (Карта рельефа), и в окне диалога Create Render Node (Создать узел визуализации) нажмите кнопку с надписью File (Файл).
      На вкладке bump2d введите в поле параметра Bump Depth (Высота рельефа) значение 0,5. В качестве растрового изображения снова используйте файл planks_ bump.tif. Дважды щелкните на образце материала Walls_Blinn в окне Hypershade (Редактор узлов), чтобы получить доступ к редактированию параметров этого материала в окне каналов. Закройте окно диалога Attribute Editor (Редактор атрибутов).
    2. В разделе Inputs (Входные данные) окна каналов содержится информация обо всех связях материала, расположении текстур и проекционных координатах. В данный момент в наличии имеются три узла place2dTexture. Щелкните на самом нижнем, соответственно, созданном последним, чтобы увидеть его параметры. Введите в поля Rotate Frame (Поворот кадра), Repeat U (Кратность по оси U) и Repeat V (Кратность по оси V) значения 90, 7 и 4 соответственно.
    3. В процессе назначения карты рельефа материалу фундамента дома придется потрудиться, совмещая ее с текстурой булыжника. Откройте окно диалога Attribute Editor (Редактор атрибутов) для материала Foundation_PhongE и соедините текстуру File (Файл) с характеристикой материала Bump Mapping (Карта рельефа). Убедитесь, что переключатель раздела 2D Textures (Двумерные текстуры) установлен в положение Normal (По нормали). Так как исходная карта текстуры была размещена с учетом геометрии поверхности, проще всего выровнять ее с картой рельефа, используя те же самые настройки.
    4. Результат расположения карты рельефа по умолчанию можно наблюдать после интерактивной фотореалистичной визуализации. Файл cobblestones_bu mp.tif является модифицированным изображением текстуры, использованной при создании материала Foundation_PhongE. Если карта рельефа накладывается на текстуру, итоговый вид материала получается весьма реалистичным. Щелкните правой кнопкой мыши на образце материала Foundation_PhongE и выберите в появившемся контекстном меню команду Graph Network (Сеть узлов). Затем щелкните правой кнопкой мыши в любом месте вкладки Work Area (Рабочая область) и выберите команду Graph t Rearrange Graph (Узлы > Упорядочить узлы).
    5. Удалите узел place2dTexture, соединенный с узлом File карты рельефа, выделив его и нажав клавишу Delete. Затем, нажав клавишу Ctrl, перетащите средней кнопкой мыши оставшийся узел place2dTexture на узел File карты рельефа. Когда вы отпустите кнопку мыши, появятся все необходимые связи.
    6. Выделите узел Bump2d и в окне диалога Attribute Editor (Редактор атрибутов) сделайте величину параметра Bump Depth (Высота рельефа) равной 1,2. В результате между отдельными булыжниками появятся заметные бороздки, как показано на рис. 8.27.
    7. Теперь осталось назначить карту рельефа материалу, использованному для основания трубы. Попытайтесь сделать это самостоятельно.

    Для закрепления знаний о приемах работы с материалами и картами текстур попробуйте самостоятельно отредактировать материалы, назначенные остальным частям дома, используя приемы от проецирования текстур на поверхность до применения трехмерных процедурных карт. Также вы можете добавить некоторые предметы, разместив их внутри дома, например, смоделировать журнальный столик, лампу и кресло. Впрочем, можно просто импортировать все эти объекты из соответствующего файла.
    Чтобы импортировать сцену, щелкните на квадратике, расположенном справа от команды Import (Импорт) меню File (Файл). Выберите в меню Edit (Правка) окна диалога команду Reset Settings (Сбросить настройки) и нажмите кнопку Import (Импортировать). Выберите в появившемся окне диалога файл chOSimportObjects.mb и еще раз нажмите кнопку Import (Импортировать). Появятся объекты, которым назначен фоновый материал.
    Возможно, вам придется изменить положение некоторых объектов. На рис. 8.28 показана сцена, полученная в результате импортирования объектов.

    10. Подведем итоги

    Подведем итоги

    В процессе выполнения упражнений данной главы вы смогли открыть для себя мир материалов. Он может показаться неохватным, но не стоит впадать в уныние! Полное понимание взаимодействия отдельных узлов друг с другом и того, как редактирование определенных параметров изменяет вид материала, приходит со временем и опытом. Мы предоставили вам основные сведения о материалах и текстурах, которые можно использовать в качестве отправной точки для самостоятельного исследования. В этой главе вы познакомились со следующими темами и понятиями:

  • Раскраска по Блинну, Фонгу, Ламберту и анизотропная. Концепция основных типов раскраски может на первый взгляд показаться сложной, но теперь вы имеете представление о том, чем они отличаются друг от друга.
  • Редактирование различных характеристик материалов. Понимание назначения основных характеристик материала является ключом к успешной имитации вида реальных поверхностей.
  • Работа с окном Hypershade. Вы приобрели навыки использования основного инструмента для создания и редактирования материалов в Maya.
  • Назначение материалов элементам дома. С помощью материалов вы сделали модель, созданную в предыдущих главах, действительно достойной визуализации.
  • Изучение процесса назначения материалов. Не существует устоявшегося набора методов создания и назначения материалов объектам сцены, но мы дали вам представление о том, как в общем случае происходит этот процесс.
  • Добавление карт текстуры. Простой одноцветный материал может выглядеть неплохо сам по себе, но, назначив какой-нибудь из его характеристик карту текстуры, можно сделать его вид по-настоящему реалистичным.
  • Карты рельефа. Вы узнали, как можно создать иллюзию рельефа на поверхности, не меняя ее фактической геометрии.

Этот урок посвящается всем дуговым и винтообразным лестницам, а также «монтажу» перил, балясин и кованных ограждений.

Время от времени у многих коллег по цеху возникает необходимость создания лестниц различной формы и не всегда она (форма) отличается своей простотой. Как правило, столкнувшись со спиралевидными, зигзагообразными и любыми другими сложно-геометрическими конструкциями у многих возникают затруднения в их реализации. Решить подобную задачу в 3ds Max можно различными способами. Сегодня мы познакомимся с универсальной методикой построения криволинейных лестниц.

Урок условно разделим на две части, двигаясь от простого к более сложному:


В качестве «Быстрого старта» познакомимся с основным принципом пропагандируемой методики, а также разберём вариант аккуратного и точного позиционирования кованных ограждений на примере уже существующей лестницы;


Во-второй части закрепим навыки, создав сложную спиралевидную лестницу и тезисно выделим основные преимущества данной методики.


Наверное, каждый, кто даже на начальном уровне владеет инструментарием программы 3ds Max, может без особых затруднений создать самый обычный лестничный марш. А это уже половина успеха! Дело остаётся за малым – загнуть его в нужную форму. Рассматриваемый ниже принцип демонстрирует нам, насколько простым и в тоже время интересным может быть этот процесс. Роль главной скрипки во всём этом «безобразии» будет исполнять модификатор «Skin Wrap» . Являясь в своей основе модификатором анимации, он остаётся достаточно гибким инструментом, позволяющим осуществлять деформацию одного объекта, посредствам низкополигональной геометрии другого.


Поскольку представленный инструмент интегрирован в программу как модификатор анимации, то и терминологию целесообразно было бы использовать соответствующую. Так, например, формообразующий объект будем именовать как «Драйвер формы» или просто «Драйвер» , а деформируемый объект «Базовым» . Итак, давайте разберём следующий пример лестницы:

В своей основе это прямой лестничный марш, созданный стандартными инструментами программы с последующим искривлением:

1. В одном из видов проекции создаём элемент лестницы - ступень. Сразу текстурируем его и распределяем по высоте на заданное количество ступеней:

2. Тоже самое проделываем с ограждением по обе стороны марша:

3. Далее нам необходимо создать так называемый «Драйвер формы» . В виде «Top» из начала координат строим окружность «Circle» --> «Editable Spline» и на уровне подобъектов «Vertex» делаем разбивку первой вершины («Brake» );

Важное замечание: место разбивки вершин задаёт начальную и конечную точки «Драйвера». Затем следует нормализация сплайновой формы («Normalize Spline» ) и её экструдирование («Extrude» ). Значение «выдавливания» определяет высоту лестницы, в нашем случае с учётом ограждения;

4.Укладываем полученный«Драйвер» в плоскость (копируем канал карты «1:map» в канал геометрии «Mesh» ) Это очень похоже на магию;


5. Следующим шагом в нашем пособии для волшебников будет привязка всей лестницы (предварительно сгруппировать все элементы) к уже плоскому «Драйверу» . С помощью дополнительного модификатора «Edit Poly» (без него объект не воспримет изменение своего положения) и инструментов перемещения, выравниваем плоскость «Драйвера» по центральной оси лестницы (чем ближе «Драйвер формы» располагается к «Базовому объекту» , тем меньше будут искажения!);

6. «Привязываем» лестницу к телу «Драйвера» , посредствам модификатора «SkinWrap» (в его настройках не забываем поставить галку напротив параметра «Weight All Points» ). Лестница воспримет форму драйвера, но визуально это никак не проявится;


7. Для того, чтобы увидеть волшебство в действии (деформацию лестницы по заданной форме), остаётся сущий пустяк - отключить пару модификаторов в стеке объекта «Driver» и срыть его с глаз долой (не удалять!!!):


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

Двигаемся дальше… Очень часто возникают ситуации, когда обычная деформация по заданной форме вызывает искажение объекта и как результат некорректное позиционирование всех его составных элементов. Но, как уже ране отмечалось, модификатор «SkinWrap» является очень гибким инструментом и с его помощью можно реализовывать широкий спектр задач.

Рассмотрим пример, когда в уже существующей лестнице необходимо произвести замену ограждений. Для этого воспользуемся моделью из базы:

Форма представленной лестницы довольно сложная, поэтому описанный выше алгоритм без соответствующей правки, не вполне способен обеспечить точную расстановку всех крепёжных стоек – искажения неизбежны! Для начала подготовим интересующий нас элемент ограждения (зададим примерно тот же угол наклона, что и у лестницы (FFD)):

Для точного и аккуратного позиционирования стоек нам необходимо знать пространственное положение всех ступеней лестницы. Эту информацию мы можем извлечь из геометрии ступеней. Для этого:

1. В виде «Top» создаём «Драйвер формы» , ориентируясь на край ступеней. Нормализуем его («Normalize Spline» ) и экструдируем («Extrude» ). Как и в первом случае значение «выдавливания» определяется высотой лестницы с учётом перил и ограждений;


2. У ступеней выделяем торцы, а остальную часть объекта скрываем;

3. Через «SkinWrap» привязываем торцы к «Драйверу» ;

4. Сам «Драйвер» укладываем в плоскость (копируем канал карты «1:map» в канал геометрии «mesh» );


И снова в ситуацию вмешивается диво дивное, в результате которого, мы получили те самые пространственные координаты ступеней, развёрнутые на плоскости. На развёртке чётко видно, что лестничные ступени не имеют равномерной диагонали, это и есть то самое искажение, о котором мы упоминали выше.

Теперь же, правильно и точно расставить все элементы нового ограждения лестницы не составит никакого труда: Развёрнутые торцы ступенек послужат хорошим ориентиром на данном этапе работы:


______________________________________________________________________________

Ну и на закуску… Как и было заявлено в начале, в этой части урока смастерим деревянную винтовую лестницу. На этот раз не будет заострять внимание на идентичных с первыми двумя примерами действиях, а сконцентрируемся на некоторых нюансах при создании «Драйверов формы» для данного вида лестницы.

Виртуально креативить, как Вы уже догадались будем вот такой, реально существующий объект:

И первое, на что стоит обратить внимание, это конечно же форма основных элементов. На первый взгляд здесь мог бы неплохо проявить себя инструмент «Helix» . Однако, при более детальном анализе формы первые впечатления… они усиливаются! Да, «Helix» – это, пожалуй, лучшее решение. И поскольку форма всех элементов непрямолинейна, наиболее рационально было бы отмоделить их в плоском (прямолинейном) виде, а затем, с использованием всё тех же формообразующих «Драйверов» придать линиям желаемую плавность.


Путём нехитрых математических вычислений определяем радиус - 900мм, высоту - 3000мм и количество ступенек - 16, а может 18 (в любом случае красиво)


2. Создали сплайновую форму;

3. «Выдавили» объём;

4. Развернули в плоскость;

5. Выровняли по центральному элементу;


6. Задали объекту «Скос» ;

7. Привязали «Базу» к «Драйверу» ;

8. Последовательно отключив действие двух верхних модификаторов, наблюдаем, как центральный элемент лестницы принимает форму «драйвера». Напомню, что «Драйвер» — это спираль с двумя оборотами.

Важное замечание: Отключать модификаторы нужно последовательно сверху стека, включать - в обратном порядке:


Абсолютно тем же способом задаётся форма для винтообразной ленты, как и для балясин с периллами (всё привязывается к одному «Драйверу» ):


И вот теперь мы с Вами подошли к завершающему этапу урока. Нам предстоит размещение самих ступеней. Есть два пути решения этой задачи. Самый быстрый и простой – это задействовать инструмент «Array» и в три клика размножить ступени. Но этот путь для слабаков, тем более что применительно к данной ситуации, массивы являются частным случаем. Мы же пойдём несколько иной дорогой, вернее рельсами и благодаря этому сможем в полной мере убедиться в гибкости и универсальности используемого подхода.

Итак, теперь давайте добавим в нашу работу немного логики. Начну с небольшой хитрости. Я собираюсь загрузить фрагмент скрипта, для того, чтобы нам было с чего начать. Открываем Script Editor, нажимаем Load Script (загрузить сценарий), затем выбираем Desktop, оттуда направляемся в папку Exercise Files, выбираем Chapter 2. В этой папке мы найдем файл 02_05_Step.mel. На самом деле, это повтор скрипта, который мы создали ранее, когда мы работали с переменными.

Этот скрипт позволяет нам создать параллелепипед. У нас установлены переменные для высоты, ширины и глубины, которые применяются при создании фигуры. Мы возьмем ее за основу для лестницы, которую собираемся создавать. Поэтому я назвал ее ступенькой (Step). Если мы выделим команды и нажмем Execute, то получим симпатичную прямоугольную фигуру. Но нам нужно создать несколько подобных фигур и разместить их так, чтобы они напоминали лестницу. Что мы и сделаем.

Для этого нам нужно взять одну из этих фигур и переместить её. Фигуру переместим по двум осям: по оси Z в глубину, и по оси Y в высоту. Это очень легко делается. Удалим обе фигуры и начнем работать с чистого листа. Но перед этим нам необходимо добавить еще одну переменную. Она будет определять количество ступеней. Это нужно для того, чтобы понять, из скольких ступеней будет состоять наша лестница. Мы пишем: Int, что означает Integer (целое число). Нам нужны именно целые числа, потому что, число ступеней не может быть дробным.

Затем мы создаем переменную с названием numSteps, ставим знак равенства, и затем количество ступеней. Наша лестница будет состоять из шести ступеней. Теперь у нас есть все необходимые переменные для создания скрипта. После этого мы создадим цикл For. Посмотрим, как это выглядит. Вначале пишется слово "FOR", затем в круглых скобках пишется начальное условие, потом через точку с запятой конечное условие и в конце, тоже через точку с запятой – выражение, которое будет обновлять счетчик после каждого выполнения цикла.

До тех пор, пока не выполнится конечное условие, мы будем двигаться в рамках цикла, после каждого выполнения цикла будет обновляться значение счетчика. Затем, в фигурных скобках мы напишем команды, которые будут повторяться в цикле. Именно они будут строить лестницу. Итак, вернемся к Maya и создадим цикл For. Пишем: For, затем открываем круглые скобки, затем создаем переменную. Нам нужно определить, какую переменную мы будем используем для счетчика.

Начнем с того, что напишем переменную $i, которую обычно используют для обозначения счетчика. Если мы собираемся начать с того, что $i будет равно 0, тогда нам нужно будет продолжить команду до тех пор, пока значение $i будет меньше, чем количество ступеней. Можно просто скопировать и вставить переменную для обозначения количества ступеней. Затем нужно задать выражение для увеличения значения переменной "i". По нашей задумке, это значение будет увеличиваться на одну единицу при каждом повторении цикла.

Мы можем сделать это, добавив в команду два знака "+", а затем название переменной $i. Закрываем круглые скобки. Затем открываем фигурные скобки. Maya имеет одну замечательную особенность: когда вы открываете фигурные скобки, затем нажимаете Enter, скобки автоматически закрываются. Таким образом, вы никогда не оставите их открытыми. В этих скобках мы будем писать нужные нам команды. Сейчас мы добавим команду для создания ступеньки polyCube.

Обратите внимание, что Maya автоматически делает отступ. Благодаря этому код становиться более удобочитаемым. Теперь посмотрим, как все это работает: выделяем команду, выполняем ее. Что-то произошло. Перед нами одна фигура. Однако, если вы откроете окно Outliner, то увидите, что на самом деле создано шесть фигур, их нужно прост передвинуть на нужные позиции.

Сейчас мы этим займемся. Выделяем фигуру, перемешаем ее вглубь, затем поднимаем вверх, чтобы это выглядело, как лестница. Когда мы перемещаем фигуры, то в истории команд появляются дополнительные записи. Например: Move -r, затем цифры. Их можно использовать в скрипте. Нажимаем Enter, затем печатаем Move -r. Далее нужно написать значения перемещения вдоль координат X, Y и Z.

Если мы выделим нашу фигуру, то увидим, что ось X обозначает ширину ступени. Я совсем не хочу перемещать фигуры по этой оси, так что поставим ноль. Далее, для оси Y, я хочу использовать переменную высоты ступеньки. Пишем: $stepH. Помещаем её в круглые скобки, так как у нас будет несколько ступеней. И каждую из ступеней нужно отодвинуть дальше и дальше.

Поэтому эта переменная должна быть умножена на номер текущей ступеньки, которую у нас обозначает переменная $i. Перейдем к оси Z, которая отвечает за глубину. Здесь нам нужно сделать то же самое, как и в предыдущем случае, однако это будет относиться к глубине расположения фигуры. Пишем: $StepD*$i. Убедитесь в том, что вы поставили точку с запятой в конце.

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

Это очень полезно для работы с различными вещами, в том числе для создания лестничных ступеней.

Переходим в модуль «2D-моделирование». Строимоси и затем 2 окружности Ø100 и Ø1800. Как показанона Рисунке 1.

Теперь смоделируем контур ступеньки.
Для этого обрежем окружности ипрямыеи получим две дуги и два отрезка, соединяющие концы дуг. См. Рисунок. Используем при этом, инструмент обрезка. Это инструмент работает в 2 шага.
1. Выбираем все контуры, которые участвуют в обрезке.
2. Указываем часть контура, которую нужно обрезать.

Четыре полученных контура нужно объединить в один, чтобы получить в итоге эскиз-контур ступеньки.

Используя, созданный эскиз, мы в модуле 3D Моделирование позже создадим ступеньку. А сейчас мы сделаем еще контур для проектирования поверхности перила лестницы. Делаем прямоугольник размерами 70х30. В двух верхних углах делаем скругления радиусом 15. См. Рисунок.

Для построения спиралевидной поверхности нам нужно преобразовать эскиз в сплайн и затем полученный сплайн расположить в нужном месте в пространстве и правильно его сориентировать. А затем, используя функцию копия по винтовой линии, сделать нужно число сплайнов.

Переходим в модуль «3D-моделирование».
Немного теории. Для построения лестницы мы используем универсальные функции 3-х мерного моделирования. А конечной целью этих функций является создание тела или поверхности. Тело представляет собой набор поверхностей, которые составляют замкнутое пространство. Поверхность может быть триммированной (обрезанной) или нет. При визуализации поверхность представляет собой набор кромок или сетку. Сетка считается с разной степенью детализации, в зависимости от масштаба сцены.
Выбор поверхности и тела происходит одинаково в зависимости от режима изображения поверхностей. При изображении поверхности в режиме проволока, ищется кромка, ближайшая к курсору.
Продолжим моделирование перила лестницы.
Повернем эскиз вокруг оси X на 90 градусов. А затем переместим вдоль оси на 900.

  • Получим такое положение как на рисунке.
    Преобразуем эскиз-контур в сплайн. Для это воспользуемся функцией из главного меню
    Преобразовать ->Кривую ->To Spline. Теперь размножим наш сплайн, используя для этого новую функцию копировать винтом. Дляее вызова нужно нажать кнопку в панели инструментов 3D. Вводим параметры в появившемся окне:
    Угол -30 град.
    Шаг по Z 200
    Числошагов 12
    И любуемся результатом. Как на картинке.

  • Примечание.
    Угол со знаком минус потому что мы делаем копию с поворотом по часовой стрелке, если
    смотреть со стороны оси Z. Все готово для построения поверхности. Наконец то.

В главной панели инструментов переключаемся на закладку поверхностей. И ищем кнопкудля создания поверхностей по сечениям.

Нажимаем кнопку и программа предлагает нам выбрать сплайны для построения поверхности. Выбираем линии в том порядке, в каком они должны располагаться в
поверхности. Последнюю линию указываем дважды. Появляется поверхность. Любуемся на картинке.

Самую сложную деталь мы замоделировали. Переместим ее вдоль оси Z на дистанцию 600 мм.

Теперь сделаем ступеньку.
В главной панели инструментов переключаемся на закладку твердотельного моделирования. Для создания ступеньки используем кнопкупрофиль
из эскиза.

Функция предлагает нам указать эскиз-контур для образования тела. Эскиз мы уже построили ранее. Указав эскиз-контур, в появившемся окне вводим нужную нам
толщину ступеньки.

Получаем ступеньку, которую нам нужно размножить.

Но, перед этим мы покрасим ступеньку с помощью такого атрибута поверхностей, как материал. В редакторе материалов создадим новый материал

Немного теории про материал.
В новом документе нет материалов и все поверхности изображаются с помощью материала по умолчанию. В редакторе материалов изображаются только материалы главной части документа. Но в документе может быть много частей. Например, если вы импортировали стол из.wrk файла, то все содержимое файла будет располагаться в части со всеми примитивами, слоями, материалами, частями и таблицей параметров. Это пока для общего развития, не пугайтесь.
Один материал может быть активным, он изображается немного большим чем все остальные. Свойства активного материала можно назначить поверхности или всем предварительно телам. Для этого и служат соответственно две кнопки - Face и Apply. В первом случае, нажав кнопку Face, вы указываете на поверхность, к которой нужно применить материал, во втором случае, нажав кнопку Apply, свойства выбранного материала применяются к всем поверхностям всех выбранных тел.
К активному материалу можно применить свойства другого материала из библиотеки материалов. Для этого служит кнопка Library. Свойства (параметры) активного материала можно сохранить в виде файла. Для этого есть кнопка Export. К активному материалу можно применить свойства другого материала, которые хранятся в
виде отдельного файла. Кнопка Import.
После того, как мы применили нужный материал к поверхностям ступеньки, ее можно скопировать. Используемдля этого новую функцию копировать винтом. Для ее вызова
нужно нажать кнопку в панели инструментов 3D. Мы это уже делали, когда моделировали поверхность перила.
Вводим параметры в появившемся окне:
Угол -30 град.
Шаг по Z 200
Число шагов 12.
И любуемся результатом.

Теперь нам нужно сделать центральную трубу. Используем для этого функцию Цилиндр, в диалоге вводим параметры: Диаметр 100 и Высота 2000.
Стойки делаем с помощью функции Профиль. А потом их размножаем с помощью функции копировать винтом. И получаем в результате нашу лестницу.

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

Теоретические аспекты

Деформаторы - это особые типы объектов, используемые для деформации формы других объектов, включая рассмотренные нами ранее полигональные и NURBS-объекты и широко применяемые как непосредственно в моделировании, так и в анимации. Плюсом их использования является возможность быстро изменять геометрию объекта без необходимости перемещения вручную его вершин.

За работу с деформаторами отвечает меню Deform (Деформировать), доступное только в режиме создания анимации (клавиша F2). Открывающийся через данное меню список деформаторов довольно велик, в данном уроке мы рассмотрим лишь нелинейные деформаторы - они находятся в подменю Create Nonlinear (Создать Нелинейные) - рис. 1 и применяются для создания нелинейной деформации, отличающейся от линейной тем, что изменение формы объекта производится неравномерно вдоль его осей.

Рис. 1. Подменю CreateNonlinear

В Maya имеются следующие типы нелинейных деформаторов:

  • Bend (Изгиб) - деформирует объект за счет его осевого изгиба;
  • Flare (Выпуклость) - позволяет увеличить/уменьшить степень выпуклости объекта;
  • Sine (Синусоидальная деформация) - деформирует объект за счет синусоидальных возмущений его поверхности в направлении одной из осей;
  • Squash (Сплющивание) - обеспечивает сплющивание поверхности объекта в направлении одной из осей с сохранением его первоначального объема;
  • Twist (Скручивание) - изменяет форму объекта путем применения деформации скручивания относительно одной из его осей;
  • Wave (Волна) - деформирует объект за счет синусоидальных возмущений его поверхности в двух направлениях с образованием концентрических волн.

Назначенные объектам нелинейные деформаторы (как и прочие объекты) отображаются в окне Outliner (Структура), а результат применения любого из них определяется параметрами настройки деформатора (они регулируются обычным образом в окнах Channel Box и Attribute Editor ) и количеством сегментов самого объекта. Как правило, число сегментов устанавливается при создании объекта, однако при не совсем удачном применении деформатора оно может быть увеличено уже после его назначения, что, правда, может иметь негативные последствия - в таком случае приходится удалять деформатор, увеличивать степень разбиения объекта, а затем вновь его назначать. Как правило, при небольшом числе сегментов увеличение их количества приводит к изменению характера деформации, а при большом - способствует большей гладкости получаемой поверхности. При необходимости к объекту может быть применено сразу несколько деформаций - получаемый результат при этом чаще всего зависит от порядка следования деформаторов.

Bend

Учитывая, что мы многократно будем обращаться в одно и то же подменю Create Nonlinear , выбирать команды из которого на практике довольно долго, временно вынесем данное подменю на плавающую панель. Для этого активируйте режим Animation (F2), откройте меню Deform =>Create Nonlinear (Деформировать=>Создать нелинейные) и щелкните на двойной разделительной линии вверху подменю (рис. 2). Передвиньте появившуюся плавающую панель на свободную часть экрана так, чтобы она всегда была под рукой.

Для того чтобы разобраться с основами применения деформаторов, создайте полигональный куб размером 5 x5 x5 и увеличьте число разбиений в каждом его направлении до 5. Установите режим тонированной раскраски, включив флажок Smooth Shade All из собственного меню окна проекции. Выделите куб и в созданном плавающем меню щелкните на команде Bend (Изгиб) - на первый взгляд ничего не произойдет, разве что цвет сетки куба с зеленого сменится на малиновый (рис. 3). Но все не так просто - на самом деле в списке объектов появился деформатор (что отражено в окне Outliner - рис. 4), однако в окне Perspective деформатор не виден, но лишь потому, что установлен режим тонированной раскраски. Переключитесь в режим каркасного отображения (команда Shading =>Wireframe ) и увидите, что деформатор находится внутри куба - рис. 5. Не снимая выделения с деформатора, откройте окно каналов, поверните деформатор на 90° вокруг оси Z и увеличьте значение параметра Curvature (Кривизна) с 0 до 1, для удобства просмотра переключитесь обратно в режим тонированной раскраски, щелкнув на клавише 5 (рис. 6). Как видите, стоило увеличить кривизну деформатора (поворот по оси Z определяет лишь направление воздействия деформатора), и куб неузнаваемо изменился.

Рис. 3. Вид куба сразу после назначения деформатора Bend

Рис. 4. Появление деформатора в окне Outliner

Рис. 6. Результат увеличения параметра Curvature

Откройте окно редактора атрибутов (Attribute Editor ) и поэкспериментируйте с изменением параметров Envelope (Оболочка), Low Bound (Нижняя граница) и High Bound (Верхняя граница). Обратите внимание, что Low Bound и High Bound определяют пределы воздействия деформатора вдоль конкретной оси, а Envelope сужает или расширяет всю область его применения (это будет справедливо и для любых других деформаторов) - рис. 7.

Рис. 7. Примеры различных вариантов настройки параметров деформатора Bend

И напоследок попробуйте применить к уже деформированному объекту трансформации: перемещение, вращение и масштабирование - и обратите внимание, что все они приводят к его дополнительной (и совсем ненужной) деформации (рис. 8). Дело в том, что при трансформации объекта с уже назначенным деформатором (любым, а не только деформатором Bend) меняется положение деформатора относительно объекта, что приводит к нежелательному изменению его формы. Связь между объектом и деформатором прерывается при удалении истории конструирования объектов (Edit =>Delete by Type =>History Construction History - Редактировать=>Удалить по типам=>История), правда после этого уже нельзя будет менять параметры настройки деформатора. Поэтому удалять историю лучше по окончании моделирования конкретного элемента, а при необходимости применения трансформаций в процессе моделирования во избежание нежелательного изменения формы следует выделять объект вместе с деформатором.

Flare

Выделите деформатор Bend в окне Outliner и удалите его. Выделите куб и назначьте ему деформатор Flare - как и в случае с деформатором Bend , на внешнем виде куба вначале это никак не отразится (рис. 9). Установите параметр Curvature (Кривизна) равным –0,5 - центральная часть объекта окажется сжатой (рис. 10). Нажмите клавишу t , и вы увидите несколько маленьких манипуляторов, с помощью которых (равно как и через окна Channel Box и Attribute Editor ) можно управлять параметрами деформатора. Поперемещайте манипуляторы и понаблюдайте за изменением формы объекта, в конечном счете остановитесь на варианте, показанном на рис. 11, где четко видно, что параметры Start Flare (Начальное значение выпуклости) и End Flare (Конечное значения выпуклости) регулируют ширину области объекта на входе и выходе влияния деформатора. Увеличьте значение параметра Curvature , например, до 0,5 и убедитесь, что в данном деформаторе он может привести к получению вогнутой поверхности (при отрицательных значениях) или, наоборот, выпуклой (при положительных значениях) - рис. 12. Остальные параметры деформатора Flare воздействуют на изменение формы объекта точно так же, как и аналогичные параметры деформатора Bend .

Рис. 9. Вид куба сразу после назначения деформатора Flare

Рис. 10. Результат изменения параметра Curvature

Рис. 11. Вид объекта после изменения параметров StartFlare и EndFlare

Рис. 12. Результат увеличения параметра Curvature

Увеличьте число разбиений исходного куба в каждом направлении до 15 - поверхность объекта станет более гладкой (рис. 13), а затем размер по оси Y (Scale Y ) - до 20. Это приведет к кардинальному изменению формы объекта, так как деформатор будет воздействовать теперь не на всю поверхность, а лишь на ее центральную часть, в чем можно удостовериться, переключившись в режим каркасного отображения (клавиша 4), - рис. 14.

Рис. 14. Вид объекта после увеличения значения Scale Y в режиме тонированной раскраски (слева) и в режиме каркасного отображения

Sine

Верните размер по оси Y к исходному и удалите деформатор Flare (предварительно выделив его в окне Outliner ), выделите куб и назначьте ему деформатор Sine , что изначально опять-таки никак не повлияет на форму объекта. Увеличьте амплитуду ( Amplitude ) с 0 до 0,2, а длину волны (Wavelength ) установите равной 1 - поверхности объекта, расположенные в направлении оси X станут волнообразными (рис. 15).

Squash

Выделите исходный объект, назначьте ему деформатор Squash и поэкспериментируйте с различными значениями фактора сжатия ( Factor ) - обратите внимание, что при отрицательных его значениях объект расширяется и становится короче, а при положительных вытягивается вдоль оси воздействия параметра (рис. 16).

Стоит отметить, что деформаторы могут применяться не только ко всему объекту целиком, но и к отдельным его вершинам. Попробуем воспользоваться подобным вариантом назначения деформатора Squash для расширения нижней половины объекта. Для этого удалите деформатор Squash , выделите объект, перейдите в режим редактирования вершин (F8), выделите вершины его нижней части (рис. 17) и вновь назначьте им деформатор Squash с параметрами примерно как на рис. 18.

Twist

Удалите деформаторы Sine и Squash , выделите куб и назначьте ему деформатор Twist . Поэкспериментируйте с разными значениями параметра Start Angle (Начальное значения угла) - если данный параметр равен 0, то скручивания нет, а при его увеличении куб скручивается вокруг оси Y тем сильнее, чем больше по модулю значение параметра (рис. 19). Правда, все это верно лишь при нулевом значении параметра End Angle (Конечное значение угла), а если меняются оба параметра (Start Angle и End Angle ), то степень скручивания растет с увеличением разницы между ними. Обратите внимание также на зависимость изменения формы от направления оси деформатора. Изначально в нашем случае скручивание проводилось по оси Y , попробуйте повернуть деформатор по оси Z на 90° - куб станет скручиваться уже по оси X (рис. 20) и т.д. Кроме того, попробуйте уменьшить значения параметров Low Bound (Нижняя граница) и High Bound (Верхняя граница) до –0,5 и 0,5 соответственно - область влияния деформатора сузится и теперь скручиваться будет лишь средняя часть объекта (рис. 21).



THE BELL

Есть те, кто прочитали эту новость раньше вас.
Подпишитесь, чтобы получать статьи свежими.
Email
Имя
Фамилия
Как вы хотите читать The Bell
Без спама