Горящая
Свеча
Перейдем к
более сложному примеру, иллюстрирующему возможности материалов Мах с применением
текстурных карт. Загрузите с сайта издательства файл Candle.MAX, и в
раскрытом на весь экран видовом окне «Camera-Main» отобразится
модель восковой свечи на декоративной подставке в окружении зеркальных ширм
(рис. 8.45).
Модели этих
ширм и подставки уже имеют назначенные и полностью сформированные материалы,
РИСУНОК
8.45. Видовое окно Камеры сцены «Горящая Свеча»
1. Выберите
объект с именем «Свеча-Воск» и запустите Редактор Материалов.
Щелкните на кнопке Туре (Тип) для создания нового материала и в вызванном
диалоговом окне Material / Map Browser (Просмотрщика Материалов и Текстурных
Карт) укажите тип Standard (Стандартный).
2. Наберите
имя нового материала «Свеча-Воск» и настройте следующие параметры
материала:
Карта
Gradient Ramp (Улучшенная Растяжка)
Карта Gradient
Ramp (Улучшенная Растяжка или Градиент) состоит из нескольких стандартных
свитков параметров аналогичных рассмотренным ранее для текстуры Bitmap (Растровая
Карта) и одного специального - Gradient Ramp Parameters (Параметры Улучшенной
Растяжки) (рис. 8.46), который включает в себя:
РИСУНОК
8.46. Настройки Текстуры Gradient Ramp (Улучшенная Растяжка)
Gradient
Bar (Градиентную Шкалу) и Flags (Флаги-Маркеры)
интерполяции,
каждому из которых соответствует конкретный цвет и линейная координата от 0
(принятой за начало текстуры) до 100 (равной конечной точке карты). Для добавления
маркера необходимо выполнить левый щелчок на требуемой точке шкалы, а для редактирования
маркеров - правый щелчок на нужном маркере. В последнем случае возникает контекстное
меню (рис. 8.47), состоящее из следующих пунктов:
РИСУНОК
8.47. Контекстное меню Маркера
РИСУНОК
8.48. Свойства Маркера
Верхнее текстовое
поле отображает номер маркера и имеет прокрутку для навигации по всем маркерам.
Расположенный в средней части окна раскрывающийся список типов интерполяции
настраивает вид функциональной кривой изменения цвета от маркера к маркеру,
а сразу под ним кнопка Texture (Текстура) для замены картой текстуры
цвета, назначенного маркеру. Цветной образец Color (Цвет) отображает
текущий цвет и редактируется обычным способом.
Счетчик Position
(Расположение) позволяет задать маркеру координату на Gradient Bar (Градиентной
Шкале), причем первый и последний маркеры имеют жестко закрепленные позиции
начала и конца Шкалы.
РИСУНОК
8.49. Текстура канала Цвета
4. Однако,
кроме изменения цвета, необходимо задать изменение самосвечения тела свечи,
вызванного засветкой пламени. Поэтому повторите процедуру создания текстуры
Gradient Ramp (Улучшенная Растяжка) для канала Self-Illumination (Самосвечения)
со следующими установками Градиентной Шкалы:
РИСУНОК
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.jpg (рис. 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).
Используя
Специальные Эффекты Мах и добавив Анимацию пламени, можно значительно
усилить это впечатление. Эти средства будут рассмотрены в следующих главах.