Задание 2

Горящая Свеча

Перейдем к более сложному примеру, иллюстрирующему возможности материалов Мах с применением текстурных карт. Загрузите с сайта издательства файл Candle.MAX, и в раскрытом на весь экран видовом окне «Camera-Main» отобразится модель восковой свечи на декоративной подставке в окружении зеркальных ширм (рис. 8.45).

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

РИСУНОК 8.45. Видовое окно Камеры сцены «Горящая Свеча»

1. Выберите объект с именем «Свеча-Воск» и запустите Редактор Материалов. Щелкните на кнопке Туре (Тип) для создания нового материала и в вызванном диалоговом окне Material / Map Browser (Просмотрщика Материалов и Текстурных Карт) укажите тип Standard (Стандартный).

2. Наберите имя нового материала «Свеча-Воск» и настройте следующие параметры материала:

- Имя материала - «Свеча-Воск».
- Shader (Тип Тонирования) - Phong (Алгоритм Фонга).

Свиток Phong Basic Parameters (Базовые Параметры Тонирования)

- Ambient (Окружающий) и Diffuse (Рассеянный) Red: 208, Green: 127 и Blue: 62.
- Specular (Зеркальный Блик)-Red: 249, Green: 222 и Blue: 180.
- Self-Illumination (Самосвечение) - 0 (флажок Color (Цвет) -отключен).
- Opacity (Непрозрачность) - 100.
- Specular Level (Уровень Блеска) - 127, Glossiness (Глянце-вость) - 46, Soften (Размытие) - 0.1.

Свиток Extended Parameters (Расширенные Параметры)

- Туре (Тип) в Advanced Transparency (Дополнительной Регулировке Прозрачности) - Filter (Фильтр).
- Цвет Filter (Фильтра) - Red: 128, Green: 128 и Blue: 128.

Свиток Maps (Текстурные Карты)

- Канал Diffuse Color (Рассеянный Цвет) -100 единиц, текстурная карта - тип Gradient Ramp (Улучшенная Растяжка).

Остановимся на особенностях этого, ранее не рассматриваемого типа текстур.

Карта Gradient Ramp (Улучшенная Растяжка)

Карта Gradient Ramp (Улучшенная Растяжка или Градиент) состоит из нескольких стандартных свитков параметров аналогичных рассмотренным ранее для текстуры Bitmap (Растровая Карта) и одного специального - Gradient Ramp Parameters (Параметры Улучшенной Растяжки) (рис. 8.46), который включает в себя:

РИСУНОК 8.46. Настройки Текстуры Gradient Ramp (Улучшенная Растяжка)

Gradient Bar (Градиентную Шкалу) и Flags (Флаги-Маркеры)

интерполяции, каждому из которых соответствует конкретный цвет и линейная координата от 0 (принятой за начало текстуры) до 100 (равной конечной точке карты). Для добавления маркера необходимо выполнить левый щелчок на требуемой точке шкалы, а для редактирования маркеров - правый щелчок на нужном маркере. В последнем случае возникает контекстное меню (рис. 8.47), состоящее из следующих пунктов:

РИСУНОК 8.47. Контекстное меню Маркера

- Edit Properties (Редактировать Свойства) - вызывает диалоговое окно Flag Properties (Свойства Флага-Маркера)
  (рис. 8.48).

РИСУНОК 8.48. Свойства Маркера

Верхнее текстовое поле отображает номер маркера и имеет прокрутку для навигации по всем маркерам. Расположенный в средней части окна раскрывающийся список типов интерполяции настраивает вид функциональной кривой изменения цвета от маркера к маркеру, а сразу под ним кнопка Texture (Текстура) для замены картой текстуры цвета, назначенного маркеру. Цветной образец Color (Цвет) отображает текущий цвет и редактируется обычным способом.

Счетчик Position (Расположение) позволяет задать маркеру координату на Gradient Bar (Градиентной Шкале), причем первый и последний маркеры имеют жестко закрепленные позиции начала и конца Шкалы.

- Сору (Копировать) - копирует настройки текущего маркера в программный буфер обмена данными.
- Paste (Вклеить) - копирует настройки из программного буфера обмена данными текущему маркеру.
- Delete (Удалить) - удаляет текущий маркер (кроме первого и последнего).
- Interpolation (Интерполяция) - раскрывающийся список для назначения единого типа интерполяции всем маркерам одновременно.
- Тип градиента устанавливается в раскрывающемся списке Gradient Type (Тип Градиента) и может быть выбран из более десяти возможных.
- Настройки, задающие неоднородность карты, содержатся в группах Noise (Нерегулярность) и Noise Threshold (Порог Нерегулярности).

Вернемся к выполнению практического задания: перейдите к настройкам карты Gradient Ramp (Улучшенная Растяжка) канала Diffuse Color (Рассеянный Цвет).

3. Создайте следующий набор маркеров и их параметров:

- Flag #1 - Position (Расположение)-0, Color (Цвет)-Red: 255, Green: 236 и Blue: 30.
- Flag #2 - Position (Расположение) -100, Color (Цвет) - Red: 255, Green: 172 и Blue: 64.
- Flag #3 - Position (Расположение) - 33, Color (Цвет) - Red: 225, Green: 102 и Blue: 35.
- Flag #4 - Position (Расположение) - 52, Color (Цвет) - Red: 212, Green: 56 и Blue: 8.
- Flag #5-Position (Расположение)-80, Color (Цвет)-Red: 212, Green: 56 и Blue: 8,

при Linear (Линейном) типе интерполяции маркеров. Далее установите тип градиента - Linear (Линейный). В результате будет получена карта текстуры, задающая изменяющийся цвет тела свечи (рис. 8.

РИСУНОК 8.49. Текстура канала Цвета

4. Однако, кроме изменения цвета, необходимо задать изменение самосвечения тела свечи, вызванного засветкой пламени. Поэтому повторите процедуру создания текстуры Gradient Ramp (Улучшенная Растяжка) для канала Self-Illumination (Самосвечения) со следующими установками Градиентной Шкалы:

- • Flag #1 -Position (Расположение)-0, Color (Цвет)-Red: 255, Green: 255 и Blue: 255.
- • Flag #2 - Position (Расположение) - 100, Interpolation (Интерполяция) - Ease In Out (Замедление До и После), Color (UBeT)-Red: 218, Green: 218 и Blue: 218.
- • Flag #3 - Position (Расположение) -15, Color (Цвет) - Red: 255, Green: 255 и Blue: 255.
- • Flag #4 - Position (Расположение) - 60, Interpolation (Интерполяция) - Ease In Out (Замедление До и После), Color (Цвет) - Red: 39, Green: 39 и Blue: 39.
- • Flag #4 - Position (Расположение) - 84, Interpolation (Интерполяция) - Ease In (Замедление До), Color (Цвет) - Red: 39, Green: 39 и Blue: 39,

причем там, где тип интерполяции не указан, задавайте Linear (Линейный) и установите такой же тип градиента. Таким образом будет создана карта изменения самосвечения (рис. 8.50) и вам останется лишь назначить материал «Свеча-Воск» одноименному объекту сцены.

РИСУНОК 8.50. Текстура канала Самосвечения

Для правильного отображения текстурных карт на модели примените модификатор UVW Map (UVW Карта) и задайте Mapping (Тип Проецирования) как Cylindrical (Цилиндрический), а также выбрав Alignment (Ориентацию) вдоль оси X.

Для согласования размера Gizmo (Габаритного Контейнера) и объекта тела свечи вызовите команду Fit (Вписать) одноименной кнопкой из группы Alignment (Ориентация) параметров модификатора UVW Map (UVW Карта) (рис. 8.51).

РИСУНОК 8.51. Вписывание Gizmo (Габаритного Контейнера)

Далее выберите объект сцены с именем «Пламя-Свечи» материал из библиотеки Candle.MAT из каталога \Matlibs на CD. Он примечателен типом прозачности Add (Добавляющая), ранее не использовавшемся в практических заданиях, а также применением карты текстуры в канале Opacity (Непрозрачность) для создания силуэта язычка пламени свечи. Рассмотрите загруженный материал и его составные компоненты.

РИСУНОК 8.52. Текстурная Карта канала Цвета

В канале Diffuse Color (Рассеянный Цвет) применена текстурная карта типа Bitmap (Растровая Карта), использующая графический файл Flame.JPG (рис. 8.52), созданный автором в редакторе графики Adobe Photoshop на основе наблюдения за реальным пламенем.

РИСУНОК 8.53. Текстурная Карта канала Непрозрачности

Для использования в канале Opacity (Непрозрачности) это изображение было слегка отредактировано, переведено из цветного в черно-белое (градациями серого цвета) и сохранено под именем Flame-O.GIF (рис. 8.53), так как канал Непрозрачности учитывает только яркостную составляющую графического изображения.

Назначьте рассмотренный материал выбранному объекту и повторите процесс добавления модификатора UVW Map (UVW Карта), установив Mapping (Тип Проецирования) - Planar (Плоское) и задав Alignment (Ориентацию) вдоль оси Y (рис. 8.54). Теперь, когда материалы «Свеча-Воск» и «Пламя-Свечи» готовы и назначены объектам сцены, можно выполнить ее визуализацию. Однако прежде необходимо сказать несколько слов об освещении такой сцены.

РИСУНОК 8.54. Planar (Плоское) Проецирование

Свет, создаваемый реальной свечой, характеризуется переменной яркостью и изменчивым оттенком - пламя свечи постоянно колеблется и мерцает. Безусловно, это сказывается на освещаемой сцене и требует дополнительных усилий по имитации такого мерцания. Поэтому в рамках разбираемого примера мы не будем останавливаться на анимации пламени, обратив выше внимание лишь на расположение прожектора «Spot-Пламя» и его настройки (рис. 8.55).

РИСУНОК 8.55. Расположение осветителя Target Spot (Нацеленный Прожектор) для имитации света Свечи

Несовпадение координат осветителя и объекта «Пламя-Свечи» вызвано необходимостью все же имитации, а не повторения реальной сцены - их близкое расположение создавало бы большие, вытянутые падающие тени. Размеры зон Near (Ближнего) и Far (Дальнего) ослаблений светового потока источника света приблизительно совпадают с зонами градиентной текстуры тела свечи.

9. Выполните обсчет сцены «Горящая Свеча», вызвав диалоговое окно Render Scene (Визуализировать Сцену) и включив флажок Auto-Reflect / Refract and Mirrors (Автоматические Отражения / Преломления и Зеркальные Отражения).

РИСУНОК 8.56. Итоговая Визуализация сцены «Горящая Свеча»

Полученный кадр изображения имеет достаточную достоверность и сходство с реальной сценой (рис. 8.56).

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