Лабораторная работа № 10

Тема: Применение текстурных карт в 3 D Studio MAX

Цель: рассмотреть применение текстурных карт в 3 D Studio MAX

Практическая работа

В двух предыдущих уроках мы рассмотрели некоторые общепринятые способы создания и присвоения объектам материалов, создаваемых как на основе базовых (Standard), так и с применением нестандартных типов материалов (Multi/Sub-Object, Raytrace, Matte/Shadow и др.). Мы выяснили, что теоретически новые материалы можно получить в результате настройки базовых (а при необходимости и расширенных) параметров, либо путем назначения материалу текстурных карт, либо сочетая данные варианты. На практике любой материал можно создать лишь с применением текстурных карт, основные аспекты использования которых мы и рассмотрим в данном уроке.

Как уже упоминалось, за работу с текстурными картами в списке параметров отвечает отдельный свиток Maps (Текстурные карты), содержащий длинный перечень каналов. Каналы отвечают за управление свойствами материала, и теоретически каждому из них может быть назначена текстурная карта. Настройка любого из элементов свитка Maps производится путем включения/выключения флажка состояния, установки значения счетчика влияния текстурной карты Amount и определения типа текстурной карты. Самым главным в списке каналов свитка Maps является Diffuse Color (Рассеянный цвет), определяющий текстуру самого объекта, некоторыми экспериментами с которым преимущественно мы и ограничивались ранее. На самом деле текстурные карты можно назначить и большинству других каналов, например использование текстурных карт на каналах Reflection (Отражение) и Refraction (Преломление) позволит имитировать оптические эффекты. Применение текстурной карты на канале Opacity (Непрозрачность) обеспечивает управление степенью прозрачности объекта, а на канале Bump (Рельеф) необходимо при формировании рельефных поверхностей и т.д.

Каналы Ambient Color, Diffuse Color, Specular Color, Filter Color, Reflection и Refraction работают с цветом, поэтому подключаемые на них текстурные карты обычно цветные. Каналы Specular Level, Glossiness, Self-Illumination, Opacity, Bump и Displacement учитывают только интенсивность цвета — ее значение колеблется в диапазоне от 0 (черный) до 255 (белый), поэтому на данных каналах принято подключать в качестве карт черно-белые изображения или изображения в градациях серого цвета. Рассмотреть особенности применения текстурных карт на всех каналах (тем более что их список не исчерпывается вышеназванными) не представляется возможным; мы остановимся лишь на наиболее важных. Но вначале поговорим об основных типах карт.

Типы карт

В 3D Studio Max доступно несколько типов карт: двумерные, трехмерные, композитные, цветовые и др. (рис. 1) — по умолчанию доступ открывается сразу ко всем типам карт.

Рис. 1. Окно Material/MapBrowser с выделенным цветом блоком выбора типов карт

Двумерные карты (2D Maps) при визуализации просчитываются по двум осям, и для их корректного отображения недостаточно выбрать и настроить текстурную карту — необходимо также правильно ее проецировать на поверхность объекта (данной проблеме будет посвящен следующий урок). К двумерным картам относятся:

· Bitmap (Растровая карта) — представляет собой графический файл (чаще всего текстуру), который хранится на диске и может быть подготовлен в любом графическом пакете;

· Checker (Шахматы) — позволяет создавать текстуру в виде шахматного поля, клетки которого могут иметь тонированную раскраску либо представлять другие карты текстур;

· Gradient (Градиент) — обеспечивает радиальную или линейную градиентную заливку с плавными переходами между указанными цветами; при необходимости любой из данных цветов может быть заменен текстурной картой;

· Gradient Ramp (Улучшенный градиент) — представляет собой усложненный вариант карты Gradient, отличающийся более широкими возможностями настройки;

· Swirl (Завихрение) — обеспечивает создание своеобразных вихревых узоров и используется при имитации радужных переливов, например бензиновых пятен на воде.

Трехмерные карты (3D Maps) отличаются от двумерных тем, что при их наложении просчет ведется сразу по всем трем осям, что удобно, так как отпадает необходимость контролировать процесс проецирования карт. В списке трехмерных карт фигурируют:

· Noise (Шум) — обеспечивает генерацию неоднородных по структуре (более естественных) материалов;

· Smoke (Дым) — позволяет имитировать такие атмосферные эффекты, как пар, туман, дым и т.п.;

· Water (Вода) — используется для имитации водных поверхностей — например случайного рисунка на поверхности воды (при подключении на канале Diffuse Color) или создания ряби, расходящихся кругов, волн и т.п. (при использовании на канале Bump);

· Wood (Древесина) — позволяет генерировать структуру древесной поверхности с отображением годовых колец, фрагментов сучков и т.п.;

· Cellular (Ячейки) — обеспечивает имитацию соответствующих ячеистых структур: пенопласта, бетона, кожуры апельсина, кожи пресмыкающихся и т.п., используется преимущественно на канале Bump;

· Marble (Мрамор) и Perlin Marble (Перламутр) — применяются для создания таких природных материалов, как мрамор, малахит, родонит и т.п.;

· Dent (Выбоины) — позволяет генерировать на поверхности объекта случайные вмятины и шероховатости и обычно применяется совместно с картой Noise для придания материалу большей естественности;

· Falloff (Спад) — обеспечивает неоднородную прозрачность материала и чаще всего используется на канале Opacity.

Группа текстурных карт Compositors объединяет так называемые многокомпонентные карты, которые позволяют применять к объекту одновременно несколько карт в той или иной комбинации, что обеспечивает получение уникальных композиций. Основными картами в данной группе являются следующие:

· Mask (Маска) — обеспечивает отображение текстурной карты в соответствии с указанной маской. В качестве маски применяются grayscale-изображения, при этом черные пикселы считаются прозрачными и отображаются текстурой, белые — полностью непрозрачными (сквозь них текстура не видна), а серые обладают той или иной степенью прозрачности в зависимости от степени яркости;

· Composite (Смесь) — позволяет генерировать материалы путем смешивания двух и более текстурных карт, накладываемых одна на другую с учетом их прозрачности. Прозрачность компонентов может быть задана посредством карты Mask либо при помощи растровой карты (Bitmap);

· Mix (Смешение) — напоминает карту Composite, однако генерируется несколько иначе, так как смешивание текстурных карт в ней осуществляется с учетом процентных соотношений яркости.

Из других типов карт наибольшее практическое применение имеют следующие:

· Flat Mirror (Плоское зеркало) — используется для получения зеркальных отражений окружающих объектов на плоской поверхности. Применяется только на канале Reflection;

· Raytrace (Трассируемая) — обеспечивает имитацию оптических эффектов отражения и преломления, возникающих в непустых, в том числе полупрозрачных, объектах. Применяется на каналах Reflection и Refraction;

· Reflect/Refract (Отражение/Преломление) — напоминает карту Raytrace, однако работает по другому алгоритму. По сравнению с Raytrace обеспечивает генерацию менее достоверных эффектов отражения и преломления, но зато более проста в настройке;

· Thin Wall Refraction (Тонкостенное преломление) — используется для имитации преломлений, характерных для прохождения света через пустые прозрачные тонкостенные объекты (посуда, остекление, водные струи и т.п.). Применяется только на канале Reflection.

Diffuse Color

Канал Diffuse Color определяет основные параметры материала: основной цвет и при необходимости подключаемую текстурную карту. Рассмотрим особенности управления текстурными картами на данном канале. Создайте сцену с двумя объектами (рис. 2), а затем в редакторе материалов подготовьте новый материал, указав для него только текстурную карту типа Bitmap на канале Diffuse Color и оставив значение счетчика влияния текстурной карты равным 100 (рис. 3). Назначьте материал кубу. Визуализируйте сцену — в данном случае выбор текстуры, имитирующей кафельную плитку (рис. 4), создаст (правда, пока весьма слабую) иллюзию того, что куб облицован плиткой (рис. 5).

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

Рис. 3. Свиток Maps

Рис. 4. Текстура для канала Diffuse Color

Рис. 5. Вид объектов после наложения материала

Уменьшите значение счетчика влияния текстурной карты до 50 — отображение текстуры станет менее выраженным. Если параллельно с изменением счетчика поэкспериментировать с цветом в данном канале, то можно одновременно с сохранением видимости текстуры произвольным образом менять ее оттенки (на самом деле, конечно, оттенки будут меняться лишь в материале, а не в текстурной карте) — рис. 6.

Рис. 6. Вид сцены при разных значениях цвета

Bump

Если внимательно посмотреть на поверхность куба в только что созданной сцене при рендеринге, то несложно заметить, что применение текстуры кафельной плитки не обеспечивает иллюзии реальности. Основной причиной этого является то, что каждая плитка естественной поверхности, облицованной данным материалом, слегка выступает над ней, а в нашем случае поверхность выглядит совершенно плоской. Для изменения ситуации в лучшую сторону потребуется настройка текстурной карты на канале Bump, отвечающем за формирование рельефных поверхностей. При необходимости имитации рельефной поверхности для данного канала устанавливается предварительно подготовленная в любом двумерном графическом пакете текстурная карта в градациях серого цвета. При рендеринге серые области карты (подразумевается серый цвет — R=150, G=150, B=150) будут отображаться обычным образом, черные будут вдавлены, а белые — приподняты (чем область светлее, тем больше уровень приподнятости), что и создаст иллюзию рельефа поверхности. Например, установка на канале Bump представленной на рис. 7 текстурной карты (для чистоты картины на всех остальных каналах карты отсутствуют) приведет к тому, что рельефными будут только два прямоугольника: белый приподнят, черный вдавлен, вся остальная поверхность — ровная (рис. 8).

Рис. 7. Текстура для канала Bump

Рис. 8. Вид сцены после добавления текстуры на канале Bump

Куб, облицованный кафельной плиткой

Попробуем добиться эффекта рельефности на примере имеющегося куба с установленной на канале Diffuse Color текстурой, имитирующей кафельную плитку. Откройте исходную текстуру в Photoshop и залейте области, соответствующие кафельным плиткам белым цветом, а все остальное пространство — черным, сохраните изображение в формате JPG (рис. 9). Переключитесь в 3D Studio Max и подключите данную карту на канале Bump, оставив значение счетчика влияния текстурной карты равным 30, — плитки окажутся приподнятыми над основной поверхностью (рис. 10).

Рис. 9. Текстура для канала Bump

Рис. 10. Куб, облицованный кафельной плиткой

Счетчик влияния текстурной карты в данном случае отвечает за разницу между светлыми и темными областями — увеличив, например, его значение с 30 до 70 вы увидите, что плитки станут выступать над поверхностью гораздо сильнее (рис. 11). Стоит отметить, что значение параметра Amount может быть не только положительным, но и отрицательным — при отрицательных значениях интерпретация карты программой меняется на противоположную: светлые области становятся вдавленными, а темные — приподнятыми.

Рис. 11. Результат увеличения значения Amount для текстуры на канале Bump

Волоконская деревянная поверхность

Довольно часто текстурную карту для канала Bump получают более простым способом — не создают ее в графическом редакторе, а просто преобразуют изображение, задействованное в качестве текстурной карты на канале Diffuse Color в режим Grayscale. Воспользуемся данным подходом для создания рельефного материала с текстурой дерева для многоугольной формы, играющей роль плоской основы для куба. Активируйте в редакторе материалов свободный слот и установите для канала Diffuse Color текстуру, имитирующую деревянную поверхность (рис. 12). Присвойте данный материал объекту — его поверхность в силу чрезмерной гладкости будет больше напоминать пластик под дерево, нежели настоящее дерево (рис. 13). Попробуем исправить ситуацию и придать материалу волокнистую структуру настоящего дерева. Откройте текстуру дерева в Photoshop, переведите ее в режим Grayscale и сохраните в формате JPG (рис. 14). Переключитесь в 3D Studio Max, подключите данную карту на канале Bump и отрегулируйте значение счетчика влияния текстурной карты (в нашем примере мы остановились на 110) и визуализируйте сцену (рис. 15).

Рис. 12. Текстура для канала Diffuse Color

Рис. 13. Вид сцены после добавления текстуры на канале Diffuse Color

Рис. 14. Текстура для канала Bump

Рис. 15. Куб на волокнистой деревянной поверхности