Создаем многокомпонентные материалы
Создаем многокомпонентные материалы
От предыдущей главы у вас должно было сохраниться понимание того, что многокомпонентные материалы — это просто списки, в которых могут перечисляться материалы четырех основных типов max 7.5: стандартные, трассируемые, матовые/затеняемые или типа «обводка и заливка». Номер материала-компонента в списке является идентификатором этого компонента. При назначении многокомпонентного материала тому или иному объекту сцены отдельные материалы-компоненты автоматически присваиваются граням объекта, имеющим соответствующие идентификаторы материалов (Material ID). Первый материал-компонент присваивается граням, у которых параметр Material ID (Идентификатор материала) = 1, второй — граням, у которых Material ID (Идентификатор материала) = 2 и т. д.
Использование многокомпонентных материалов бывает необходимо тогда, когда требуется назначить разные материалы отдельным граням одного и того же объекта. Применительно к проекту «МАХ-кафе» мы рассмотрим задачи создания многокомпонентных материалов типа «Дерево+стекло», что необходимо для придания должного вида окну здания кафе, а также «Фаянс+позолота» и «Стек-ло+позолота», чтобы сделать-таки «тарелочки с золотой каемочкой» и пустить пару золотых полосок по верхним краям бокалов. Кроме того, многокомпонентные материалы понадобятся для отделки ствола и веток новогодней елки, стеклянных елочных шаров, имеющих сверху выступ золотистого металла, а также камина, который должен быть выложен снаружи и изнутри разными типами кирпичей. На стены кафе также имеет смысл нанести многокомпонентные материалы, иначе стена фасада изнутри окажется выложенной неровными плохо обработанными камнями, а остальные стены будут оклеены обоями снаружи.
Многокомпонентные материалы помогают также решать задачу имитации зеркальных отражений окружающих предметов в плоских поверхностях объектов с применением текстурной карты типа Flat Mirror (Плоское зеркало). Дело в том, что материалы на основе этой текстурной карты не могут применяться к трехмерным объектам в целом, а должны назначаться только совокупностям отдельных граней, лежащих в одной плоскости.
Создание сложных текстур методом комбинирования
Создание сложных текстур методом комбинирования
Характерный рисунок многих текстур, таких как Cellular (Ячеистая), Checker (Шахматное поле), Gradient (Градиент), Noise (Неоднородности), Perlin Marble (Перламутровый мрамор), Planet (Планетарная), Speckle (Крапинки) и т. п. образуется за счет комбинирования двух или более заданных цветов. Однако подобно тому, как в стандартном материале цвета отдельных компонентов можно замещать картами текстур, так и для формирования рисунка текстур можно использовать не однородные цвета, а другие текстуры.
Например, карта текстуры Checker (Шахматное поле) по умолчанию формирует рисунок в виде черно-белых клеток, расположенных в шахматном порядке. Если заменить черный и белый цвета текстурами типа Bitmap (Растровая карта) и подобрать подходящие изображения текстур дерева, можно имитировать с помощью шахматной карты рисунок паркета «в шашечку» или вид настоящей шахматной доски, созданной методом инкрустирования из двух пород древесины. В результате образуется сложная текстура, где внутрь карты типа Checker (Шахматное поле) вложены две карты типа Bitmap (Растровая карта).
Карта текстуры типа Noise (Неоднородности) формирует картину случайных пятен также из двух заданных по умолчанию цветов — черного и белого. Если заменить белый цвет на текстурную карту типа Bitmap (Растровая карта), то результирующая картина будет выглядеть так, будто на растровом изображении появились темные пятна.
Можно создавать и более сложные вложенные текстуры. Например, карта типа Gradient (Градиент) позволяет формировать плавный переход от одной текстуры к другой, каждая из которых сама может быть комбинированной и обладать определенной вложенностью.
Глубина вложенности текстур не ограничивается, а число текстурных карт, комбинируемых в составе материала, зависит только от силы вашего воображения. Ниже в данной главе мы попробуем на практике создать несколько образцов комбинированных вложенных текстур.
Пожалуй, это все, что следует знать о текстурных картах, настройке их параметров и способах их нанесения на поверхности объектов перед тем, как начать пользоваться текстурами на практике.
Свойства стандартных материалов, имитируемые ка
Свойства стандартных материалов, имитируемые ка
Средства управления характеристиками стандартных материалов, создаваемых с использованием карт текстур, сосредоточены в свитке Maps (Карты текстур) Редактора материалов, показанном на рис. 14.1. Свиток содержит 24 однотипных группы элементов управления, в каждую из которых входит флажок активизации карты, наименование характеристики материала, имитируемой картой текстуры, счетчик доли вклада карты в результирующий вид материала (Amount) и кнопка выбора типа карты текстуры, на которой по умолчанию имеется надпись None (Отсутствует). При этом 12 групп названных элементов активны, а еще 12 находятся в резерве и недоступны для использования. Кнопки выбора карт текстуры являются аналогами маленьких квадратных кнопок без надписи, располагающихся справа от многих параметров материалов в свитках базовых параметров методов раскраски, рассмотренных выше.
Типы проекционных координат
Типы проекционных координат
Выбор проекционных координат нужного типа производится за счет установки переключателя в разделе Mapping (Проекционные координаты) свитка Parameters (Параметры) в одно из следующих положений:
Planar (Плоские) — служат для проецирования растровых текстур на ровные плоские поверхности объектов. Вид значка плоских проекционных координат показан выше на рис. 14.25. На тех гранях объекта, которые расположены перпендикулярно плоскости проекции, изображение текстуры сильно растягивается и искажается, как показано на рис. 14.27;
Трехмерные карты текстур
Трехмерные карты текстур
Трехмерные карты текстур (3D maps) — это процедурные карты, генерируемые расчетным путем. Рисунок таких текстур меняется в трехмерном пространстве. Материалы на основе процедурных карт занимают очень мало памяти, так как в ней хранятся только коэффициенты математического уравнения, а не множество отсчетов растровой картинки. С другой стороны, в связи с необходимостью выполнения расчетов для генерации изображения визуализация процедурных карт требует несколько большего времени, чем визуализация карт растровой текстуры. Впрочем, при нынешнем быстродействии процессоров это замедление невозможно ощутить. Для получения полного списка трехмерных карт текстур необходимо действовать так же, как было описано в разделе «Двумерные карты текстур», однако установить переключатель в левом нижнем углу окна диалога Material/Map Browser (Просмотр материалов и карт текстур) в положение 3D maps (Трехмерные карты). К данному типу относятся следующие карты текстур:
Cellular (Ячеистая) — позволяет генерировать ячеистые текстуры, пригодные для имитации множества различных природных и искусственных объектов, таких как гранит, песок, пенопласт или морская пена. В качестве примера на рис. 14.8 карта текстуры Cellular (Ячеистая) использована для имитации рельефа фасада и цвета диффузного рассеивания фундамента «МАХ-кафе»;
Подробно разбираем создание перво
Упражнение 1. Подробно разбираем создание перво
В первом упражнении этой главы мы подробно разберем процесс включения карт растровой текстуры в состав стандартного материала в качестве цвета диффузного рассеивания и рельефа. Итак, выполните следующие действия:
1. Запустите max 7.5 и откройте файл MAX-kafe12.max. При необходимости можете загрузить нужную сцену из файла MAX-kafe12.max, хранящегося в папке Scenes\Glava_13 компакт-диска, прилагающегося к книге. Сохраните файл сцены с инкрементированием имени.
2. Раскройте окно Material Editor (Редактор материалов). В предыдущей главе мы уже использовали под простейшие материалы десять ячеек образцов, поэтому переключите Редактор материалов в режим отображения большего числа ячеек, скажем, 5x3 или 6x4. «Одевать» сцену текстурами начнем с элементов наружной части здания кафе «МАХ».
3. Подготовьте материал для фасада здания, назвав его, скажем, Oblicovka. Активизируйте свободную ячейку образца материала и установите холодный темно-синий оттенок цвета Ambient (Подсветка) с RGB-компонентами, равными (6; 7; 29). Оттенок цвета Diffuse (Диффузный) сделайте ненасыщенным серовато-бежевым (150; 150; 135). Значения остальных параметров оставьте в исходных состояниях.
Продолжаем добавлять растровые те
Упражнение 2. Продолжаем добавлять растровые те
Продолжим создание материалов с растровыми текстурными картами для «МАХ-кафе». Такие материалы понадобятся нам для фундамента, ступеньки и двери кафе; для столов, деревянных деталей кресел и их обивки, настольных салфеток; для обоев, украшающих стены; для камина, крестовины елки и т. д. Учитывая полученный вами определенный опыт, разберем последовательность необходимых действий менее подробно, чем в предыдущем упражнении:
1. Учитывая, что сцена MAX-kafe13.max уже загружена, создайте материал для фундамента и ступеньки здания кафе. Активизируйте свободную ячейку образца материала и установите цвет Ambient (Подсветка) с RGB-компонентами, равными (56; 30; 16) — темно-коричневый. Оттенок цвета Diffuse (Диффузный) сделайте ненасыщенным серовато-зеленым (143; 157; 98). Введите в счетчик Specular Level (Сила блеска) величину 20, чтобы сделать материал слегка блестящим. Исходные значения остальных параметров оставьте без изменений.
2. Щелкните на квадратной кнопке без надписи справа от образца цвета Diffuse (Диффузный) и выберите в окне диалога Material/Map Browser (Просмотр материалов и карт текстур) карту типа Bitmap (Растровая). Щелкните на длинной кнопке без надписи в свитке Bitmap Parameters (Параметры растровых текстур) и выберите подходящий файл растровой текстуры. Я использовал файл Smlaggr.jpg, изображающий мелкую цветную гальку, показанную на рис. 14.55, назвав материал Galka v cemente. Этот файл можно найти в папке Maps\Architex компакт-диска, прилагающегося к книге. Можно применить и иное подходящее изображение, например, из файлов Sandshor.jpg или Concgray.jpg, входящих в комплект поставки карт текстур max 7.5 и изображающих текстуры песка и цементной отливки. Установите в счетчиках группы Tiling (Кратность) свитка Coordinates (Координаты) кратность повторения образцов текстуры равной 2 по осям U и V. Сохраните созданный материал в библиотеке MAX-kafe.mat.
Имитируем паркет «МАХ-кафе»
Упражнение 3. Имитируем паркет «МАХ-кафе»
с помощью шахматной карты и растровых текстур
В продолжение экспериментов по созданию простых стандартных материалов, основанных на картах текстур, попробуем подготовить материал несколько более сложной структуры. В его составе в качестве цвета диффузного рассеивания будет использоваться шахматная карта, которая, в свою очередь, будет включать в себя две растровые карты, имитирующие текстуры двух пород дерева. Вид трехуровневой иерархической структуры такого материала в окне диалога Material/Map Navigator (Путеводитель по материалам/картам текстур), вызываемом щелчком на одноименной кнопке Редактора материалов, показан на рис. 14.69.
Продолжаем создавать сложные сост
Упражнение 4. Продолжаем создавать сложные сост
В предыдущем упражнении мы попробовали создать стандартный материал на основе простейшей вложенной текстуры. Продолжим работу в этом направлении, создав материал, имитирующий тлеющие угли горящих в камине поленьев. Попытаемся воплотить следующий план. Чтобы обугленные поленья выглядели на одном конце раскаленными, а на другом — остывающими, покрытыми золой и едва тлеющими, применим в качестве основной карту текстуры Gradient (Градиент). Для имитации характерного узора тлеющего дерева в состав карты градиента введем вместо цветовых компонентов текстуру типа Cellular (Ячеистая). Наконец, для имитации случайных мерцаний угольков цвет ячеек карты Cellular (Ячеистая) заменим на текстуру типа Noise (Неоднородности). Иерархическая структура задуманной нами сложной составной текстуры показана на рис. 14.72.
Учимся имитировать отражения в зе
Упражнение 5. Учимся имитировать отражения в зе
В этом упражнении мы постараемся освоить несколько новых текстурных карт, отличающихся от растровых, без которых невозможно сформировать реалистичные изображения зеркал или объектов из стекла. Как уже было показано выше, простое повышение степени прозрачности материала оказывается явно недостаточным для имитации стеклянных объектов. При этом не воспроизводятся такие эффекты, как уменьшение (спад) прозрачности по краям стеклянных сосудов, где удлиняется путь луча света через толщу материала, а также зеркальные отражения окружающих предметов на поверхности стекла. Для имитации этих эффектов служат карты текстур Falloff (Спад), Reflect/Refract (Отражение/Преломление) и Raytrace (Трассируемая). Для применения этих текстурных карт в составе материалов «МАХ-кафе» выполните следующие действия:
1. Продолжите работу над сценой «МАХ-кафе» или заново загрузите ее в программу max 7.5 (нужную сцену можно найти в файле MAX-kafe14.max, хранящемся в папке Scenes\Glava_14 компакт-диска, прилагающегося к книге). Сохраните сцену с инкрементированием имени файла.
2. Сначала займемся доработкой материала, назначенного стеклянным бокалам. Активизируйте ячейку Редактора материалов, содержащую образец материала Steklo. Разверните свиток Maps (Карты текстур) и щелкните на длинной кнопке с надписью None (Отсутствует) справа от параметра Opacity (Непрозрачность).В окне просмотра материалов и карт текстур дважды щелкните на строке Falloff (Спад). Произойдет возврат в Редактор материалов, где появится свиток параметров карты текстуры спада непрозрачности. По умолчанию непрозрачность карты возрастает по мере отклонения нормалей граней объекта от направления наблюдения, за которое принимается направление линии визирования съемочной камеры. Грани, нормали которых ориентированы строго на наблюдателя или строго от наблюдателя, имеют наибольшую прозрачность, а грани, нормали которых перпендикулярны направлению наблюдения, — нулевую прозрачность. Оставьте неизменными исходные значения всех параметров карты непрозрачности и вернитесь на уровень работы с материалом, щелкнув на кнопке Go to Parent (Перейти к составному материалу).
3. Теперь щелкните в свитке Maps (Карты текстур) на длинной кнопке с надписью None (Отсутствует) справа от параметра Reflection (Зеркальное отражение). Выберите карту текстур отражения и преломления, для чего в окне просмотра материалов и карт текстур дважды щелкните на строке Reflect/Refract (Отражение/Преломление). В свитке Reflect/Refract Parameters (Параметры отражения/преломления) сбросьте флажок Use Environment Map (Использовать карту текстуры окружающей среды), иначе max 7.5 будет формировать зеркальное отражение в материале не только окружающих предметов, но и растровой текстуры, изображающей фон сцены. Нам это не нужно: ведь бокалы находятся в закрытом помещении. Для остальных параметров оставьте их исходные значения. Вернитесь на уровень работы с материалом и уменьшите долю вклада карты в счетчике Amount (Доля вклада) до 40. На рис. 14.80 показан вид полученного стеклянного материала в окне увеличителя. Сохраните доработанный материал в библиотеке MAX-kafe.mat под тем же именем Steklo и выполните пробную визуализацию сцены в окне проекции Са-тега03 (Камера03). Результат применения материала на основе карт текстур спада непрозрачности и отражения/преломления к бокалам сцены «МАХ-кафе» был показан ранее на рис.14.10 и 14.23.
Применяем карту текстуры Flat Mir
Упражнение 6. Применяем карту текстуры Flat Mir
Отработаем на практике задачу использования текстурной карты Flat Mirror (Плоское зеркало) в составе многокомпонентного материала, чтобы обеспечить небольшую долю зеркального отражения предметов в полированных поверхностях столешниц.
1. Загрузите в mах 7.5 файл MAX-kafe15.max или продолжите работу, если файл сцены уже открыт. При необходимости сцену со всеми настроенными на данный момент материалами вы можете найти в файле MAX-kafe15.max, хранящемся в папке Scenes\Glava_14 компакт-диска, прилагающегося к книге. Сохраните файл с инкрементированием имени.
2. Активизируйте очередную свободную ячейку Редактора материалов. Если у вас уже не осталось свободных ячеек, то активизируйте любую и очистите ее, щелкнув на кнопке Reset Map/Mtl to Default Settings (Установить исходный материал/карту текстуры). Так как материал из ячейки используется в составе сцены, появится окно диалога Reset Mtl/Map Params (Восстановление исходных параметров материала/карты текстуры) с соответствующим предупреждением. Чтобы не испортить материал, уже нанесенный на объекты сцены, проследите, чтобы переключатель окна был установлен в положение Affect only mtl/map in the editor slot (Воздействовать только на материал/текстуру в ячейке) и щелкните на кнопке ОК.
3. Назовите новый материал Stoleshnica. Щелкните на кнопке справа от раскрывающегося списка имен материалов, на которой по умолчанию должна читаться надпись Standard (Стандартный), затем в появившемся окне диалога Material/Map Browser (Просмотр материалов и карт текстур) дважды щелкните на строке Multi/Sub-Object (Многокомпонентный). Появится окно диалога Replace Material (Заменить материал), в котором следует установить переключатель в положение Discard old material (Отбросить старый материал), иначе исходный стандартный материал из выбранной ячейки образца будет применен в качестве компонента создаваемого многокомпонентного материала. Щелкните на кнопке ОК. В свитке Multi/Sub-Object Basic Parameters (Базовые параметры многокомпонентного материала) щелкните на кнопке Set Number (Задать число) и установите в счетчике Number of Materials (Число материалов) появившегося окна число 3. Щелкните на кнопке ОК. Три материала понадобятся нам потому, что столешницы создавались как тела экструзии, а у таких тел грани верхнего основания имеют идентификатор материала, равный 1, нижнего основания — 2, а грани боковой поверхности — 3.
4. Для назначения материалов отдельным компонентам воспользуйтесь приемом перетаскивания образцов материалов с помощью мыши. Щелкните на образце ранее созданного материала Duboviy кар и перетащите курсор на кнопку свитка Multi/Sub-Object Basic Parameters (Базовые параметры многокомпонентного материала), относящуюся к первому компоненту многокомпонентного материала. На этой кнопке должна по умолчанию читаться надпись Material #... (Standard). Отпустите кнопку мыши. В появившемся окне диалога Instance (Copy) Material (Образец (копия) материала) установите переключатель в положение Сору (Копия) и щелкните на кнопке ОК. Первый компонент материала будет в дальнейшем применен к граням верхней плоскости столешницы, поэтому мы будем его модифицировать, для чего и требуется иметь независимую копию материала. Повторите аналогичные действия применительно ко второму и третьему компонентам многокомпонентного материала, однако в этих случаях устанавливайте переключатель типа дубликата в положение Instance (Образец).
5. Чтобы обеспечить формирование зеркальных отражений предметов в полированной древесине, нужно применить карту Flat Mirror (Плоское зеркало) в качестве текстуры зеркального отражения формируемого материала. Эта карта не является растровой, но от этого не становится менее полезной. Щелкните на кнопке первого материала-компонента, на которой должна читаться надпись Material #... (Standard). Разверните свиток Maps (Карты текстур) и щелкните на кнопке с надписью None (Отсутствует) справа от параметра оптической характеристики материала, именуемой Reflection (Зеркальное отражение). В окне просмотра материалов и карт текстур дважды щелкните на строке Flat Mirror (Плоское зеркало). Произойдет возврат в Редактор материалов, где появится свиток параметров карты текстуры плоского зеркала. Сбросьте в этом свитке флажок Use Environment Map (Использовать карту текстуры окружающей среды), так как нам не нужно, чтобы в столешницах отражался еще и фон сцены. Оставьте неизменными исходные значения всех остальных параметров и вернитесь на уровень работы с материалом, щелкнув на кнопке Go to Parent (Перейти к составному материалу). В свитке Maps (Карты текстур) на кнопке параметра Reflection (Зеркальное отражение) вместо надписи None (Отсутствует) будет читаться наименование выбранной карты. Установите в счетчике Amount (Доля вклада) зеркального отражения долю вклада текстуры равной 30 %, ведь в картине полированной древесины должен преобладать рисунок текстуры дерева, а отражения окружающих предметов должны проявляться с меньшей силой. Переименуйте данный компонент материала, назвав его, скажем, Dub+Zerkalo. Выделите обе столешницы и назначьте им вновь созданный многокомпонентный материал. Сохраните этот материал в библиотеке MAX-kafe.mat.
6. Выполните пробную визуализацию изображения сцены в окне проекции Сатега03 (Камера03). У вас должен получиться результат, похожий на изображения, показанные ранее на рис. 14.22-14.24. Сохраните сцену под измененным в начале упражнения именем.
Учимся создавать многокомпонентны
Упражнение 7. Учимся создавать многокомпонентны
Многокомпонентные материалы «Фаянс + позолота» и «Стекло + позолота» создадим из уже готовых образцов, заодно освоив метод преобразования стандартного материала в многокомпонентный. Стекло для окна кафе «МАХ» изготовим путем модификации стекла бокалов и объединим с «деревянным» материалом двери кафе. Учитывая приобретенный вами в предыдущем упражнении опыт создания многокомпонентных материалов, пояснения будем давать более кратко. Выполните следующие действия:
1. Загрузите в max 7.5 файл MAX-kafe16.max или продолжите работу, если файл сцены уже открыт. При необходимости загрузите готовый файл MAX-kafe16.max, найдя его в папке Scenes\Glava_14 компакт-диска, прилагающегося к книге. Сохраните файл с инкрементированием имени.
2. В окне Редактора материалов активизируйте ячейку образца материала Faians. Щелкните на кнопке, расположенной правее раскрывающегося списка имен материалов, и выберите в окне диалога Material/Map Browser (Просмотр материалов и карт текстур) материал типа Multi/Sub-Object (Многокомпонентный). В окне диалога Replace Material (Заменить материал) оставьте переключатель в положении Keep old material as sub-material (Оставить старый материал как компонент) и щелкните на кнопке ОК. В свитке Multi/Sub-Object Basic Parameters (Базовые параметры многокомпонентного материала) щелкните на кнопке Set Number (Задать число) и установите в счетчике Number of Materials (Число материалов) появившегося окна число 2. Щелкните на кнопке ОК. Стандартный материал Faians будет преобразован в многокомпонентный, в котором этому стандартному материалу будет отведена роль первого из двух компонентов. Переименуйте многокомпонентный материал, назвав его Faians+Pozolota.
3. Щелкните на образце ранее созданного материала Pozolota и перетащите курсор на кнопку свитка Multi/Sub-Object Basic Parameters (Базовые параметры многокомпонентного материала), относящуюся ко второму компоненту многокомпонентного материала. Отпустите кнопку мыши. В появившемся окне диалога Instance (Copy) Material (Образец (копия) материала) установите переключатель в положение Instance (Образец) и щелкните на кнопке ОК. Это, собственно, и все! Вид получившегося материала в окне увеличителя показан на рис. 14.81. Сохраните этот материал в библиотеке MAX-kafe.mat. Так как новый материал создан нами на базе того, который уже был применен ко всем восьми тарелкам, применять его заново нет необходимости. Если в окнах проекций у вас установлен режим тонированного отображения, то вы сразу заметите появление золотистых полосок по краям тарелок — как раз вдоль тех граней, которым мы в одной из предыдущих глав назначили идентификатор материала, равный 2.
Управление положением рисунка текстуры
Управление положением рисунка текстуры
Для управления положением текстуры в пределах поверхности объекта включите режим правки на уровне подобъектов, щелкнув на квадратике со знаком «плюс» слева от надписи UVW Mapping (UVW-проекция) в окне стека модификаторов командной панели Modify (Изменить), и выберите в списке подобъектов уровень Gizmo (Габаритный контейнер). Перемещайте, масштабируйте и поворачивайте значок проекционных координат подобно любому объекту сцены, как показано на рис. 14.37. Закончив преобразования значка, щелкните на строке UVW Mapping (UVW-проекция) в окне стека, чтобы выключить режим работы с объектом Gizmo (Габаритный контейнер).
Текстурные карты, несмотря на название,
ЗАМЕЧАНИЕ
Текстурные карты, несмотря на название, не имеют никакого отношения ни к игральным, ни к географическим картам. Впрочем, с последними у них все же есть некое сходство: наличие координат. Хотя эти координаты и не обозначены явно на карте текстуры, считается, что они есть, и именно благодаря этим координатам программа оказывается способной правильно нанести текстуру на поверхность объекта. Текстурными координатами можно управлять, о чем вы узнаете в этой главе.
содержащую флажок, наименование характеристики материала,
ЗАМЕЧАНИЕ
Каждую строку свитка Maps (Карты текстур), содержащую флажок, наименование характеристики материала, счетчик доли вклада карты и кнопку выбора типа карты текстуры, часто называют каналом материала. В этом случае слова «поместить текстуру в канал диффузного цвета» как раз и означают полную или частичную замену текстурной картой цвета диффузного рассеивания материала.
Помимо этого в свитке Maps (Карты текстур) имеются средства для замещения текстурными картами еще нескольких характеристик материала, которые нельзя заменить текстурами иначе, как с помощью элементов управления данного свитка:
Bump (Рельефность) — позволяет применить карту текстуры для придания поверхности объекта видимости трехмерных неровностей. Геометрия поверхности не меняется (скажем, плоскость остается плоской), но впечатление неровностей возникает за счет имитации бликов и теней. Кажущаяся рельефность управляется яркостью отсчетов текстурной карты: светлые отсчеты «выступают» над поверхностью, а темные «вдавливаются» в нее;
Reflection (Отражение) — позволяет применить карту текстуры для имитации отражения окружающих объектов на поверхности зеркального материала. Забегая вперед, скажу, что max 7.5 допускает использование четырех типов карт для имитации зеркального отражения: карта типа Bitmap (Растровая) позволяет просто спроецировать на поверхность объекта изображения любых предметов или пейзажа, создавая впечатление того, что объект сделан из зеркального материала; карты типа Reflect/Refract (Отражение/Преломление) и Raytrace (Трассируемая) обеспечивают отображение на поверхность объекта проекций окружающих объектов в том виде, в каком они наблюдаются из центра зеркального объекта; карта типа Flat Mirror (Плоское зеркало) обеспечивает формирование зеркальной проекции окружающих объектов на плоскую поверхность;
Refraction (Преломление) — позволяет применять карту текстуры для имитации преломления световых лучей прозрачным объектом. В таком качестве могут использоваться карты типа Bitmap (Растровая), Reflect/Refract (Отражение/Преломление) и Raytrace (Трассируемая). Использование двух последних карт воспроизводит реальное наблюдение окружающих предметов сквозь поверхность прозрачного материала;
Displacement (Смещение) — обеспечивает фактическое изменение геометрии поверхности пропорционально яркости отсчетов карты. Смещение применимо только к объектам, представленным сетками кусков Безье или NURBS-no-верхностями. Визуализация материала, основанного на карте текстуры смещения, требует значительного времени и большого расхода памяти.
Попробуем разобраться поподробнее в том, что такое карты текстур, какие они бывают и как используются.
Чтобы обеспечить одинаковый масштаб изображения
ЗАМЕЧАНИЕ
Чтобы обеспечить одинаковый масштаб изображения текстуры на каждой из сторон объекта в виде прямоугольного блока, примените к нему модификатор UWV Map (UVW-проекция), установите проекционные координаты типа Box (Прямоугольные трехмерные) и придайте габаритному контейнеру модификатора форму куба с одинаковыми размерами по всем трем осям проекционных координат U, V и W.
Face (Координаты граней) — обеспечивают размещение отдельной копии текстурной карты в центре каждой грани объекта. Это может служить средством создания сложных узоров из текстур, если грани объекта равномерно распределены в пространстве (рис. 14.35);
управляет пространственными неоднородностями рисунка текстуры
ЗАМЕЧАНИЕ
Свиток Noise (Неоднородности) управляет пространственными неоднородностями рисунка текстуры — в отличие от текстурной карты Noise (Неоднородности), позволяющей настраивать случайные изменения яркости рисунка текстуры.
Включают и выключают режим неод-нородностей карты текстуры путем установки или сброса флажка On (Вкл.). Счетчик Amount (Степень) устанавливает степень неоднородностей текстуры. Допустимые значения лежат в пределах от 0 до 100, где 0 соответствует отсутствию неоднородностей, а 100 — максимальному искажению. Помимо этого в свитке имеются еще следующие параметры:
Levels (Уровни) — счетчик, задающий количество циклов фрактального алгоритма, генерирующего случайные неоднородности;
Size (Размер) — счетчик, задающий характерный пространственный размер неоднородностей;
Animate (Анимация) — флажок, включающий режим анимации неоднородностей, меняющихся во времени;
Phase (Фаза) — счетчик, позволяющий управлять скоростью изменения неоднородностей при анимации.
На рис. 14.45 показан пример неоднородностей растровой текстуры.
Неплохой идеей является переименование одинаковых
ЗАМЕЧАНИЕ
Неплохой идеей является переименование одинаковых модификаторов, помещенных в стек, хотя бы с присвоением им порядковых номеров. Для переименования модификатора следует выделить его в стеке, щелкнуть на нем правой кнопкой мыши, выбрать в появившемся меню команду Rename (Переименовать), ввести новое имя и нажать клавишу Enter.
5. Включите в активном окне проекции режим тонированного отображения. Выделите в окне стека модификаторов строку первого снизу модификатора UVW Mapping (UVW-проекция). В появившемся окне предупреждения о том, что выбранный модификатор зависит от топологии сетки и изменение его параметров может иметь непредсказуемые последствия, щелкните на кнопке Yes (Да) в ответ на запрос, хотите ли вы продолжить. Затем щелкните на квадратике со знаком «плюс» слева от имени модификатора и выделите в раскрывшемся списке единственный подобъект — Gizmo (Габаритный контейнер). Переместите значок модификатора проекций, который при этом изменит свой цвет с оранжевого на желтый, в плоскости верхней грани куба, чтобы совместить швы между кирпичами на верхней и правой передней сторонах объекта.
6. Закончив с текстурой верхней стороны, перейдите к левой передней стороне. Ее модификатор проекций находится на самом верху стека модификаторов. Выберите подобъект Gizmo (Габаритный контейнер) и первым делом поверните значок модификатора на 90° вокруг оси X. Затем уменьшите его ширину, используя счетчик Width (Ширина) свитка параметров модификатора. В заключение переместите значок модификатора так, чтобы совпали швы между кирпичами на левой передней и верхней сторонах куба. Возможно, придется еще несколько раз вернуться на уровни правки значков модификаторов проекций верхней и правой передней сторон, пока вы не сумеете тщательно подогнать рисунки текстуры на каждой из сторон, чтобы они не имели разрывов в местах стыка. Теперь куб действительно выглядит так, будто он сложен из реальных кирпичей (рис. 14.52).
с растровыми текстурами может представлять
ЗАМЕЧАНИЕ
Определенную сложность при работе с растровыми текстурами может представлять поиск подходящих цифровых изображений. Все используемые в предлагаемых ниже упражнениях файлы текстур вы найдете в папке Maps компакт-диска, прилагающегося к книге. Эти изображения взяты из наборов, входивших в комплекты поставки предыдущих версий 3ds max, а также из свободно распространяемых библиотек материалов, имеющихся в сети Интернет. В комплект поставки max 7.5 также входит достаточно много разнообразных цифровых изображений, которые могут с успехом быть использованы в качестве растровых текстурных карт. Любые текстуры на свой вкус вы можете создать и с помощью уже достаточно широко распространенных цифровых фотокамер.
Если просто назначить материал объектам
ЗАМЕЧАНИЕ
Если просто назначить материал объектам Fundament и Stupenka, то результат не будет таким, на который мы хотели бы рассчитывать, max 7.5 будет воспроизводить текстуру с заданной кратностью, равной 2, на каждой из сторон параллелепипедов, изображающих фундамент и ступеньку. Однако размеры и пропорции сторон различаются, а это значит, что на узких боковых гранях данных объектов текстура будет сжата по вертикали и растянута по горизонтали. Кроме того, размеры блоков фундамента и ступеньки существенно различаются, так что разным будет и масштаб рисунков одной и той же текстуры. Все эти недостатки хорошо видны на рис. 14.56, при формировании которого все объекты сцены, кроме показанных на рисунке, были временно скрыты от просмотра. Но ведь размеры камешков гальки не должны зависеть от того, замурованы они в фундамент или в ступеньку! Чтобы избежать зависимости масштаба текстуры от размеров граней объекта, к нему следует применить модификатор UVW Map (UVW-проекция), выбрав проекцию типа Box (Прямоугольные трехмерные) и задав равные размеры габаритного контейнера по всем осям U, V и W, то есть придав габаритному контейнеру кубическую форму.
Столешницы из полированного дерева будут
ЗАМЕЧАНИЕ
Столешницы из полированного дерева будут выглядеть неестественно, если в них не будут хотя бы чуть-чуть отражаться стоящие на столе предметы, как было показано выше на рис. 14.22. Способ имитации этого эффекта с помощью карты текстуры Flat Mirror (Плоское зеркало) мы рассмотрим ниже, в разделе «Создаем многокомпонентные материалы».
8. Чтобы выполнить имитацию материала ткани для «обивки» сидений и подушек кресел кафе «МАХ», воспользуйтесь растровой текстурой в качестве карты рельефа. В свободной ячейке Редактора материалов настройте параметры материала в свитке Blinn Basic Parameters (Базовые параметры раскраски по Блинну) следующим образом: Ambient (Подсветка) - (72; 16; 20), темно-бордовый; Diffuse (Диффузный) = (148; 9; 9), насыщенно-красный; Specular (Зеркальный) = (229; 229; 229), светло-серый, почти белый. Полностью устраните блик, установив параметры Specular Level (Сила блеска) и Glossiness (Глянцевитость) равными 0. Разверните свиток Maps (Карты текстур), щелкните на кнопке с надписью None (Отсутствует) справа от параметра Bump (Рельефность) и выберите в окне диалога Material/Map Browser (Просмотр материалов и карт текстур) карту типа Bitmap (Растровая). Щелкните на длинной кнопке без надписи в свитке Bitmap Parameters (Параметры растровых текстур) и выберите файл растровой текстуры, изображающей рисунок ткани. Я использовал файл с черно-белым изображением грубой ткани Curptgry.jpg, который входит в набор растровых текстур max 7.5. В качестве всех параметров растровой текстуры оставьте их исходные значения. Вернитесь с уровня работы с картой на уровень материала и установите в счетчике Amount (Доля вклада) свитка Maps (Карты текстур) для параметра Bump (Рельефность) величину 200, чтобы рельеф ткани хорошо проявился на изображении (рис. 14.62). Назовите материал Obivka, сохраните его в текущей библиотеке и примените к сиденьям и подушкам всех восьми кресел. На рис. 14.63 показан результат пробной визуализации одного из кресел (все остальные объекты были скрыты от просмотра), произведенной для контроля качества материалов.
что при таком способе нанесения
ЗАМЕЧАНИЕ
Очевидно, что при таком способе нанесения материала на стены обои будут видны и с улицы. Чтобы избежать этого, требуется применение многокомпонентного материала, состоящего из двух материалов, один из которых будет изображать обои, а другой — вид стены снаружи, Для нанесения такого материала стены также должны быть специальным образом подготовлены. Читайте об этом далее в разделе «Создаем многокомпонентные материалы».
11. Попробуем украсить текстурой елочное украшение — золотую рыбку, заодно разобравшись с возможностью изменения цветового оттенка текстуры. Активизируйте очередную свободную ячейку Редактора материалов и, не меняя исходных цветовых оттенков материала, установите достаточно интенсивный блик: Specular Level (Сила блеска) = 84, Glossiness (Глянцевитость) = 23. Щелкните на маленькой квадратной кнопке справа от образца цвета диффузного рассеивания и выберите в списке текстурных карт строку Bitmap (Растровая карта). Загрузите в качестве растровой текстуры файл Crumple4.jpg, имеющийся в папке Maps\Organics стандартного набора текстур mах 7.5 и представляющий собой фотографию мятой бумаги. Раскройте свиток Maps (Карты текстур) и перетащите имя текстурной карты с кнопки канала Diffuse Color (Диффузное рассеивание) на кнопку канала Bump (Рельефность), выбрав вариант дублирования Instance (Образец). Установите значение доли вклада текстуры в канале Bump (Рельефность) равным 100. Пока что образец материала, который можно видеть в активной ячейке, не вызывает в воображении образ золотой рыбки.
12. Перейдите на уровень редактирования карты растровой текстуры, щелкнув в свитке Maps (Карты текстур) на кнопке канала Diffuse Color (Диффузное рассеивание), и раскройте свиток Output (Результат). Установите флажок Enable Color Map (Разрешить карту цвета), чтобы получить доступ к инструментам раздела Color Map (Карта цвета) в нижней части свитка. Эти инструменты позволяют вручную настроить передаточную кривую, характеризующую связь входных и выходных значений отсчетов цвета. Наша цель — придать материалу золотистый оттенок. Установите переключатель RGB, обеспечив тем самым возможность раздельной настройки передаточных кривых по каждому из каналов цветовых компонентов. Щелкните на кнопках R (Red — Красный) и G (Green — Зеленый), чтобы выключить режимы настройки передаточных кривых красного и зеленого каналов цвета. Щелкните на квадратном черном маркере на конце передаточной кривой оставшегося активным синего канала и перетащите этот маркер вниз, к нулевой отметке. Тем самым вы полностью выключите синий компонент цвета материала, а красный и зеленый создадут в сумме искомый желто-золотистый оттенок. В таком виде материал уже мало напоминает мятую бумагу. Назовите материал Zolotaia folga, сохраните его в текущей библиотеке и назначьте объекту Zolotaia ribka. На рис. 14.66 показан вид полученного материала в окне увеличителя, а на рис. 14.67 — непосредственно на елочной игрушке.
в состав материалов многочисленных карт
ЗАМЕЧАНИЕ
Добавление в состав материалов многочисленных карт отражения/преломления и трассировки сильно тормозит визуализацию.
Это все, что мы должны были отработать применительно к стандартным материалам на основе текстурных карт. Последнее, что нам осталось опробовать на практике в рамках данной главы, — это создание многокомпонентных материалов.
в состав которых входят карты
ЗАМЕЧАНИЕ
Теперь сцена «МАХ-кафе» насыщена материалами, в состав которых входят карты текстур типа Reflect/Refract (Отражение/Преломление), Flat Mirror (Плоское зеркало) и Raytrace (Трассируемая). Представьте себе: в стекле бокалов отражаются все окружающие предметы, сами бокалы вместе с отражениями смотрятся как в зеркало в полированные поверхности столешниц, все это в совокупности отражается в висящем на стене зеркале, отражение которого, в свою очередь, также должно быть видно на стенках бокалов и столешницах... Очевидно, что визуализация такой сцены не может пройти быстро, так что, приступая к синтезу изображения, наберитесь терпения. На визуализацию может потребоваться довольно много времени, вплоть до нескольких часов, в зависимости от быстродействия вашего компьютера.
6. Создайте многокомпонентный материал «Дерево + стекло» для окна кафе. Начните с некоторой модификации материала Steklo, копию которого мы сделали в п. 3. Активизируйте ячейку образца этого материала. Во-первых, установите флажок 2-Sided (2-сторонний), так как стекло окна должно визуализироваться с обеих сторон. Далее разверните свиток Maps (Карты текстур) и отмените действие карты Falloff (Спад), используемой в качестве текстуры непрозрачности. Для этого щелкните на кнопке параметра Opacity (Непрозрачность) с надписью Map #... Falloff (Карта №... (Спад)), перейдя на уровень правки этой карты. Щелкните на кнопке Редактора материалов, расположенной правее раскрывающегося списка имен материалов, а в окне просмотра материалов и карт текстур дважды щелкните на строке None (Отсутствует) списка текстурных карт. Произойдет возврат в Редактор материалов, но на кнопке параметра Opacity (Непрозрачность) будет теперь читаться надпись None (Отсутствует) — действие карты текстуры отменено. Можно, конечно, было и просто сбросить флажок слева от параметра Opacity (Непрозрачность), но мы проделали процедуру полной отмены карты в учебных целях.
7. Теперь щелкните в свитке Maps (Карты текстур) на кнопке параметра Reflection (Зеркальное отражение). В качестве текстуры зеркального отражения у материала Steklo используется карта Reflect/Refract (Отражение/Преломление). Оказавшись на уровне правки этой карты, щелкните на кнопке, расположенной правее раскрывающегося списка имен материалов, и выберите в окне просмотра материалов и карт текстур карту типа Bitmap (Растровая карта). Для оконного стекла мы попробуем применить имитацию зеркального отражения с помощью растровой картинки. Как вы уже не раз проделывали в предыдущих упражнениях, подберите тип файла для растровой карты. Обычно имеет смысл брать тот же файл, который будет в дальнейшем изображать фон сцены. Если бы изображение нашего кафе формировалось на фоне фотографии заката солнца, как показано на рис. 1.19 первой главы, эту фотографию и следовало бы применить в качестве растровой текстуры зеркального отражения оконного стекла. Тем самым было бы создано впечатление, что закатное небо отражается в окне кафе. Но в нашем случае, когда по сценарию на улице идет снег, небо должно быть просто серо-синего цвета. В такой ситуации для имитации отражения может сгодиться растровое изображение морской глади под темно-синим вечерним небом, имеющееся в файле с именем Sea81 .tga в папке Maps\Background компакт-диска, прилагающегося к книге. Не изменяя исходных значений всех параметров растровой карты, вернитесь на уровень составного материала и уменьшите значение в счетчике Amount (Доля вклада) до 30.
8. Помните, в главе 8 граням объекта, имитирующего окно кафе, были присвоены соответствующие идентификаторы материалов. При этом тем граням, которые изображают раму окна, был назначен Material ID (Идентификатор материала) - 1, а граням, изображающим стекло, — идентификатор 2. В связи с этим нам нужно создать двухкомпонентный материал, у которого первым компонентом будет материал Steklo, а вторым — материал дерева, например lasenevaia doska. Убедившись, что вы находитесь на уровне материала Steklo, щелкните на кнопке, расположенной справа от раскрывающегося списка имен материалов, и измените тип материала со стандартного на многокомпонентный. Задайте число компонентов равным 2. Щелкните на кнопке материала первого компонента, на которой должна читаться надпись Steklo (Standard), перетащите курсор на кнопку второго компонента и отпустите кнопку мыши. В окне диалога Instance (Copy) Material (Образец (копия) материала) установите переключатель в положение Swap (Обмен) и щелкните на кнопке ОК. Произойдет обмен: материал Steklo займет место второго компонента, а на место первого переместится стандартный материал, игравший роль второго компонента по умолчанию. Остается только перетащить на кнопку первого компонента образец материала lasenevaia doska из соответствующей ячейки Редактора материалов. Назовите вновь созданный материал (рис. 14.83) Derevo+Steklo и сохраните его в текущей библиотеке. Восстановите видимость объекта Okno, примените к нему модификатор UVW-тар (UVW-проекция), а затем назначьте ему вновь созданный материал. При этом детали рамы окна приобретут материал с текстурой дерева, а та часть окна, которая изображает стекло, станет прозрачной с отливом цвета темно-синего цвета. Выполните пробную визуализацию изображения в окне проекции Саmera01 (Камера01). Результат должен напоминать изображение, показанное на рис. 1.19-1.20 первой главы. В заключение сохраните файл сцены под измененным в начале упражнения именем MAX-kafe17.max.
В реальном мире не так
Знакомимся с картами текстур max 7.5
В реальном мире не так уж много объектов имеют однотонную окраску, которую так несложно воспроизвести с помощью простейших образцов стандартных материалов, подобных рассмотренным в предыдущей главе. Окраска большинства объектов имеет характерный рисунок, образующий подобие регулярного узора или имеющий вид набора пятен со случайным образом меняющимися формами и размерами, но вполне определенным подбором расцветок и яркостей. Такие характерные рисунки носят название текстур. Именно благодаря знакомой с детства текстуре мы легко узнаем на вид поверхность обработанной древесины, кожи, ткани или взволнованной воды, отличаем мрамор от гранита или известняка, бетон — от асфальта, а траву — от ковра из опавших листьев.
Для того чтобы вооружить разработчика трехмерной графики возможностью имитировать все это текстурное многообразие реального мира, в max 7.5 применяют текстурные карты. Программа имеет в своем составе 35 типов разнообразных карт текстур, а сами карты обладают таким количеством настраиваемых параметров, что оказывается возможным выполнить имитацию практически любого материала, имеющегося в природе или существующего только в вашем воображении.
|