6. Скройте из вида снежные валики па фундаменте и ступеньке кафе. Примените к основанию сцены материал, имитирующий текстуру асфальта. При необходимости вы можете найти подходящий материал с именем Asfalt в библиотеке MAX-kafe.mat. Выполните визуализацию изображения в окне проекции Camera01 (Камера01). Теперь это изображение, показанное на рис. 15.42, отличает от картины, приведенной на рис. 1.19 первой главы, только отсутствие тумана и сияющего ореола вокруг букв вывески, но этим мы займемся чуть позже. В заключение сохраните сцену под измененным в начале работы именем.
Для выбора типов природных явлений, подлежащих имитации в составе текущей сцены, а также управления порядком их визуализации служит свиток Atmosphere (Атмосфера) окна диалога Environment and Effects (Внешняя среда и эффекты).
3. Не сбрасывайте установленный по умолчанию флажок Fog Background (Дымка фона), чтобы эффект туманной дымки действовал и на установленный в сцене фон, а не только на объекты. Переключатель Туре (Тип), позволяющий выбрать тип тумана, по умолчанию установлен в положение Standard (Стандартный), обеспечивая имитацию тумана в виде дымки. Установите этот переключатель в положение Layered (Слоистый). Слоистый туман отличается от стандартного тем, что его плотность меняется в зависимости от высоты над горизонтальной плоскостью. После этого станут доступными средства управления слоистым туманом из раздела Layered (Слоистый) свитка Fog Parameters (Параметры тумана).
4. Установите переключатель Falloff (Спад) в положение Тор (Вверху). При этом плотность тумана будет спадать до нуля в районе верхней границы слоя. При выбранной по умолчанию позиции переключателя None (Нет) плотность тумана в пределах слоя остается равномерной, а при выборе варианта Bottom (Внизу) — спадает до нуля в районе нижней границы.
5. Задайте высоту верхней границы слоя тумана в глобальной системе координат в счетчике Тор (Верх) равной 50 см. Высоту нижней границы в счетчике Bottom (Низ) оставьте равной 0. В счетчике Density (Плотность) установите общую плотность тумана равной 20,0.
6. Установите флажок Horizon Noise (Зашумление горизонта) — это позволит внести возмущения в линию горизонта слоя тумана для повышения реализма сцены. После установки флажка станут доступными элементы управления возмущением. Задайте характерный размер областей возмущений слоя тумана вблизи линии горизонта в счетчике Size (Размер) равным 10,0. Все остальные параметры оставьте равными их исходным значениям.
7. Выполните визуализацию изображения в окне проекции Camera01 (Камера01). Результат должен быть похож на изображение, представленное на рис. 15.45. Обратите внимание на то, как плотность тумана возрастает по мере удаления от зрителя.
8. Теперь перейдем от осени к зиме. В свитке Common Parameters (Общие параметры) окна диалога Environment and Effects (Внешняя среда и эффекты) сбросьте флажок Use Environment Background (Использовать фон внешней среды). Щелкните на образце цвета фона внешней среды и задайте для него серо-голубой оттенок с RGB-компонентами (15; 78; 163). Выключите режим отображения фона в окне проекции. Снова примените к основанию сцены материал Sneg, имитирующий снежный покров. Для полноты картины восстановите видимость снежных валиков и обеих систем частиц Snow01 и Snow02.
9. Повторно выполните визуализацию изображения в окне проекции Camera01 (Камера01). Должно получиться изображение, подобное представленному на рис. 15.46. Тот же самый туман воспринимается теперь совсем по-другому. Поэкспериментируйте самостоятельно с параметрами тумана, чтобы выбрать их наилучшее, на ваш взгляд, сочетание. В заключение сохраните сцену под измененным в начале упражнения именем MAX-kafe19.max.
5. Обратите внимание на то, что эффект объемного света уже применен к выбранному осветителю. Об этом говорит имя источника света Fspot01 в раскрывающемся списке справа от кнопки Pick Light (Указать источник) в разделе Lights (Источники света). Если бы мы выбирали эффект объемного света традиционным способом, с помощью кнопки Add (Добавить) свитка Atmosphere (Атмосфера) окна диалога Environment and Effects (Внешняя среда и эффекты), то следовало бы указать осветитель, к которому будет применен этот эффект. С этой целью нужно было бы щелкнуть на кнопке Pick Light (Указать источник) и выделить источник света Fspot01 в любом из окон проекций сцены. Результат был бы тот же: имя источника появилось бы в раскрывающемся списке справа от кнопки Pick Light (Указать источник).
4. Теперь пора применить к этому контейнеру эффект горения. Раскройте окно диалога Environment and Effects (Внешняя среда и эффекты) на вкладке Environment (Внешняя среда), выполнив команду основного меню Rendering > Environment (Визуализация > Внешняя среда). Для начала выделите строку Volume Light (Объемное освещение) и сбросьте флажок Active (Активно). Тем самым вы выключите не нужный нам больше эффект объемного света, примененный в предыдущем упражнении к осветителю-прожектору Fspot01. Щелкните на кнопке Add (Добавить) свитка Atmosphere (Атмосфера) окна диалога Environment and Effects (Внешняя среда и эффекты) и выберите строку Fire Effect (Горение) в окне диалога Add Atmospheric Effect (Добавление атмосферного эффекта). Имя эффекта будет добавлено в список Effects (Эффекты), а в нижней части окна диалога Environmerit and Effects (Внешняя среда и эффекты) появится свиток Fire Effect Parameters (Параметры эффекта горения), показанный на рис. 15.50.
7. Настройте параметры горения, чтобы заставить поленья запылать ярким огнем. Во-первых, установите переключатель Flame Type (Тип пламени) в разделе Shape (Форма) свитка параметров эффекта горения в положение Tendril (Язык). При этом будут генерироваться языки пламени, заостряющиеся на концах и с яркими прожилками в сердцевине. Пламя такого типа чаще всего применяется при моделировании открытого огня. Исходное положение переключателя, Fire Ball (Огненный шар), соответствует случаю моделирования округлых областей огня, похожих на огненные шары. Данный тип пламени чаще применяется при имитации взрывов.
8. Несколько уменьшите исходное значение параметра Stretch (Растяжение), который задает длину отдельных языков пламени в пределах габаритного контейнера эффекта горения. Выбор величины параметра зависит от интенсивности имитируемого процесса. Слабый огонь должен иметь малые значения параметра Stretch (Растяжение), а ярко полыхающий — большие. Для нашего камина величина 0,7 будет в самый раз.
9. Увеличьте значение параметра Regularity (Регулярность), определяющего, в какой степени область горения будет заполнять габаритный контейнер. Уменьшая величину параметра, можно заставить пламя отодвигаться от краев контейнера внутрь, делая тем самым форму контейнера менее заметной. Открытый огонь, как правило, должен моделироваться при малых значениях параметра Regularity (Регулярность), а закрытый, такой как огонь в камине или очаге, — при больших. Установите для этого параметра значение 0,7.
10. Настройте характеристики пламени, используя следующие параметры из раздела Characteristics (Характеристики):
Flame Size (Размер пламени) — задает характерный размер отдельных вихрей пламени (участков примерно однородной окраски) в пределах габаритного контейнера. Этот параметр не влияет на общий размер области эффекта, определяемый габаритным контейнером. Чтобы пламя было более выразительным, установите этот параметр равным 10; Flame Detail (Детализация пламени) — определяет, будут ли в пределах области горения видны участки цвета того размера, который задан параметром Flame Size (Размер пламени), или они будут усреднены и заменены участками однородной окраски большего размера. Если параметр детализации мал, переходы от одного оттенка пламени к другому будут сглажены, и детальность изображения огня мала. Более высокие значения ведут к получению четко очерченных областей цвета и повышению детальности изображения огня. Как правило, при значении, большем четырех, уже достигается предельная детальность, так что установим в счетчике Flame Detail (Детализация пламени) значение 5; Density (Плотность) — задает степень непрозрачности и общую яркость пламени. Так как наше кафе достаточно освещено, то, чтобы отчетливо увидеть пламя, нужно установить довольно большое значение плотности, скажем, 60.11. Все остальные параметры можно оставить равными их исходным значениям. В завершение можете еще поэкспериментировать с базовыми оттенками цветов, на основе которых формируются языки пламени. Образцы этих оттенков имеются в разделе Colors (Цвета) свитка параметров. Образец Inner Color (Внутренний цвет) задает цвет внутренней, «наиболее горячей» части пламени, а образец Outer Color (Наружный цвет) — цвет наружной, «более холодной» части пламени. При визуализации оттенки цвета пламени будут случайным образом варьироваться между указанными цветами. Образец Smoke Color (Цвет дыма) задает цвет дыма, который моделируется только при имитации вспышки взрыва. В итоге после визуализации у вас должна получиться картина, подобная показанной на рис. 15.52. Истинную красоту эффекта горения можно оценить только при анимации пламени, но это — уже предмет рассмотрения следующей главы. Сохраните сцену под измененным в начале работы именем MAX-kafe21.max.
2. Выбор оптических эффектов, которые требуется смоделировать, выполняется точно таким же образом, как и выбор эффектов внешней среды, и начинается со щелчка на кнопке Add (Добавить). Появится окно диалога Add Effect (Добавление эффекта), содержащее список фильтров для имитации оптических эффектов, установленных в max 7.5. По умолчанию таких фильтров девять: Lens Effects (Линзовые эффекты), Blur (Смаз), Brightness and Contrast (Яркость и контраст), Color Balance (Цветовой баланс), Depth of Field (Глубина резкости), File Output (Вывод в файл), Film Grain (Зернистость пленки), Motion Blur (Смаз от движения) и Hair and Fur (Волосы и мех). Выделите строку нужного фильтра и щелкните на кнопке ОК. Имя выбранного фильтра будет включено в список Effects (Эффекты), а в нижней части окна диалога Environment and Effects (Внешняя среда и эффекты) появятся свитки параметров выбранного фильтра.
Параметры раздела Preview (Просмотр) служат для управления предварительным просмотром оптических эффектов, реализуемых с помощью фильтров. При установке переключателя Effects (Эффекты) в положение All (Все) будут визуализироваться для предварительного просмотра все эффекты, включенные в список, а при выборе позиции Current (Текущий) будет подготовлен для просмотра только эффект текущего выделенного фильтра. Чтобы увидеть, как будет выглядеть сцена без применения фильтров, щелкните на кнопке Show Original (Показать оригинал). Изображение сцены будет синтезировано и показано в обычном окне виртуального буфера кадров. Для просмотра результата действия фильтров щелкните на той же кнопке, название которой изменится на Show Effects (Показать эффекты).
2. Настройте при необходимости некоторые общие параметры всех фильтров линзовых эффектов на вкладке Parameters (Параметры) свитка Lens Effects Globals (Глобальные настройки линзовых эффектов), хотя на первых норах все эти параметры можно оставлять без изменений:
Size (Размер) — задает размер участка изображения, охватываемого действием фильтра сияния, в процентах от размеров визуализируемого кадра; Intensity (Интенсивность) — задает общую яркость и непрозрачность области сияния. Чем меньше интенсивность, тем слабее и прозрачнее сияние; Squeeze (Растяжение) — степень растяжения области эффекта по горизонтали (при положительных значениях) или по вертикали (при отрицательных) в процентах от размера области; Angle (Угол) — угол, на который область эффекта будет поворачиваться от исходного положения при изменении (анимации) ракурса съемки сцены камерой; Lights (Осветители) — группа параметров, позволяющих выбрать источники света для применения к ним эффекта сияния. Щелкните на кнопке Pick Light (Указать источник) и выделите осветитель непосредственно в одном из окон проекций.3. На вкладке Scene (Сцена) свитка Lens Effects Globals (Глобальные настройки линзовых эффектов) можете при необходимости настроить следующие параметры (на этапе ознакомления с эффектом их также можно оставлять нетронутыми):
Affect Alpha (Воздействовать на альфа-канал) — включает/выключает режим воздействия фильтра сияния на альфа-канал прозрачности изображения, если это изображение сохраняется в формате 32 бита на пиксель; Affect Z Buffer (Воздействовать на Z-буфер) — если установить этот флажок, то max 7.5 будет использовать информацию о дальностях расположения объектов сцены для реализации отдельных линзовых эффектов (например, для формирования сияния позади выбранного объекта); Distance Effects (Расстояние до эффекта), Off-Center Effects (Смещение эффекта) — установка флажков Size (Размер) и/или Intensity (Интенсивность) поставит размер и/или интенсивность проявления эффекта в зависимость от расстояния до камеры и от смещения относительно линии визирования камеры; Occlusion (Перекрытие) — параметры этой группы позволяют установить внутренний (Inner Radius) и внешний (Outer Radius) пределы области, в которой объекты сцены, расположенные между камерой и источником сияния, будут влиять на проявление этого эффекта.4. Выделите имя фильтра Glow (Сияние) в свитке Lens Effects Parameters (Параметры линзовых эффектов) и щелкните на кнопке со стрелкой, указывающей вправо, чтобы перенести имя фильтра в правый список. После этого в нижней части окна Rendering Effects (Визуализация эффектов) появится свиток параметров сияния — Glow Elements (Элементы сияния), состоящий из двух вкладок: Parameters (Параметры) и Options (Режимы).
Рассмотрим настройку некоторых параметров из этого свитка в ходе выполнения практического упражнения по применению эффекта сияния к сцене «МАХ-кафе».
5. Щелкните на корешке вкладки Parameters (Параметры), показанной на рис. 15.56. Проследите, чтобы был установлен флажок On (Вкл.), включающий действие эффекта. Измените имя эффекта, чтобы не спутать его с еще одним эффектом сияния, который мы будем применять к материалу плафонов ламп. Для этого щелкните в текстовом поле Name (Имя) и введите имя Glow-viveska. В счетчике Size (Размер), задающем размер области сияния, установите значение 0,2. В счетчике Intensity (Интенсивность), определяющем яркость и степень прозрачности сияния, укажите 85. В счетчик Use Source Color (Цвет источника) введите величину 50. Это будет означать, что цвет области сияния будет на половину формироваться из цвета объекта и на половину — из цвета, указанного в поле левого цветового образца в разделе Radial Color (Цвет вдоль радиуса).
7. Подготовьте материал плафонов настенных светильников к применению эффекта сияния. Для этого раскройте окно Редактора материалов и активизируйте ячейку образца материала Steklo lampi, который использован для «раскраски» плафонов. Щелкните на кнопке Material Effects Channel (Канал эффектов монтажа) и выберите на ее раскрывающейся панели номер канала G-буфера, отличный от нуля, скажем, 2.
8. Теперь назначьте еще один эффект сияния для материала плафонов настенных светильников. Если использовать тот же самый эффект, что для вывески, мы не сможем изменять его параметры — ведь после их модификации вывеска тоже станет сиять по-другому. В левом списке свитка Lens Effects Parameters (Параметры линзовых эффектов) снова выделите строку Glow (Сияние) и перенесите имя фильтра в правый список. Выделите имя фильтра в правом списке. Щелкните на корешке вкладки Parameters (Параметры) свитка Glow Elements (Элементы сияния) и измените имя фильтра в текстовом поле Name (Имя) на Glow-plafon.
В качестве задания для самостоятельной работы попробуйте выполнить визуализацию изображения «взбесившейся» посуды, летающей по помещению кафе, которое показано на рис. 1.24 первой главы. Для этого аккуратно переместите и нужным образом поверните отдельные предметы, используя рис. 1.24 в качестве образца и следя за сценой сразу в нескольких окнах проекций. Для визуализации используйте окно проекции Camera02 (Камера02). Прототип подобной сцены можно найти в папке Scenes\Glava_15 компакт-диска, прилагающегося к книге, под именем MAX-kafe23.max.
Это все, что нам было нужно дополнительно узнать о процессе визуализации, а также об основах имитации эффектов внешней среды и оптических эффектов, свойственных объективам реальных съемочных камер.
Для того чтобы сцена, размещенная на фоне растровой текстуры, хорошо «вписывалась» в изображение фона и выглядела естественно, необходимо выполнить согласование перспективы, то есть добиться, чтобы перспективные проекции сцены и изображения фона соответствовали друг другу.
Согласование перспективы состоит в совмещении линии горизонта текстуры фона в экранной системе координат и линии горизонта съемочной камеры, чтобы привести в соответствие перспективные проекции сцены и изображения фона. Это необходимо в тех случаях, когда в качестве фона используется фотография или другое изображение пейзажа с видимой линией горизонта.
Имеются два способа совмещения линии горизонта сцены в окне камеры с линией горизонта фонового изображения. Оба метода требуют показа фонового изображения в окне проекции. Первый метод основан на использовании линии горизонта в окне камеры, положение которой вручную совмещается с линией горизонта фонового изображения. Второй метод реализуется служебной программой Camera Match (Горизонт камеры), с помощью которой перед фотографией фона помещаются вспомогательные объекты, а камера создается с опорой на эти объекты. В общем случае линию горизонта можно использовать, если известно, при каких параметрах съемочной камеры получена фотография фона. В иных случаях для аккуратного согласования перспективы необходимо применять служебную программу Camera Match (Горизонт камеры), рассмотрение которой выходит за рамки нашей книги. Существует и еще один, не вполне корректный способ согласования, когда не перспектива сцены подгоняется под перспективу фонового изображения, а наоборот, фоновое изображение так размещается в окне проекции, чтобы его линия горизонта совпала с горизонтом сцены. Некорректность состоит в том, что при таком способе согласования результат годится только для фиксированного положения съемочной камеры. Впрочем, иногда это не является существенным ограничением. Мы испытаем этот метод в процессе работы над приведенным ниже упражнением.
Для согласования перспективы с помощью линии горизонта выполните следующие действия:
1. Создайте или загрузите готовую сцену, которую необходимо визуализировать на фоне, имитируемом растровой картой текстуры внешней среды.
2. После установки растровой текстуры фона включите режим тонированного показа сцены в окне камеры. Выделите камеру и установите флажок Show Horizon (Показать горизонт) в свитке параметров камеры на командной панели Modify (Изменить). В окне камеры появится линия горизонта, как показано на рис. 15.36.
Для настройки параметров визуализации служит окно диалога Render Scene (Визуализация сцены), показанное на рис. 15.12. В название окна включается наименование текущего модуля визуализации, например Render Scene: Default Scanline Renderer (Визуализировать сцену: исходный сканирующий визуализатор), которое при дальнейшем описании будет опускаться. По умолчанию это окно содержит пять вкладок — Common (Общие настройки), Renderer (Визуализатор), Render Elements (Визуализация элементов), Raytracer (Трассировщик) и Advanced Lighting (Улучшенное освещение), — позволяющих настроить как общие параметры визуализации, так и параметры, определяющие работу используемого модуля визуализации. При смене такого модуля состав вкладок и размещенных на них свитков меняется.
Рассмотрим пример создания эффекта каустики в сцене с бокалом, в который налито немного вина. Для того чтобы было удобно наблюдать этот интересный эффект, нам понадобится сцена, в которой бокал будет помещен в закрытое пространство. Создадим объекты, которые будут участвовать в сцене. Бокал у нас уже есть, мы создали его в шестой главе методом вращения профиля, а вот остальные объекты придется добавить. Откройте сохраненный ранее файл Bokal.max или загрузите его из папки Scenes/Glava06 с компакт-диска.
1. Первое, что нам необходимо сделать, — переместить центр локальных координат объекта в его геометрический центр. В созданной нами сцене центр локальных координат не совпадает с реальным геометрическим центром, что может вызвать неточности при использовании операции выравнивания. Перейдите на вкладку Hierarchy (Иерархия) командной панели и щелкните на кнопке Affect Pivot Only (Влиять только на опорную точку). После этого щелкните на кнопке Center to Object (Переместить в центр объекта). Теперь центр локальных координат бокала расположится правильно. Еще раз щелкните на кнопке Affect Pivot Only (Влиять только на опорную точку), чтобы выключить режим работы с опорной точкой.
2. Теперь создадим коробку, в которую будет помещен бокал. Закрытое пространство даст возможность лучше наблюдать эффект каустики. Создайте объект Box (Параллелепипед) и в счетчиках Length (Длина), Width (Ширина) и Height (Высота) свитка Parameters (Параметры) установите параметры 100, 75 и 75 соответственно. Выровняйте коробку относительно бокала с помощью инструмента Align (Выровнять), работа с которым описывалась в главе 4. Чтобы расположить бокал внутри, нужно задать параметры выравнивания относительно осей X и Y по центру, а относительно оси Z — по минимуму. Правда, после этого бокал «попадет» в коробку, и вы его перестанете видеть. Параллелепипед по умолчанию виден только с одной стороны — наружной, которая обращена к зрителю. Если перевернуть нормали поверхностей этого объекта, можно будет наблюдать за тем, что делается у него внутри. Используйте модификатор Normal (Нормаль) для выполнения этой операции. Примените этот модификатор к параллелепипеду и установите флажок Flip Normals (Обратить нормали). Теперь бокал станет виден. Сохраните сцену под названием caustika.max.
По замыслу сцена «МАХ-кафе» должна визуализироваться на фоне серо-голубого зимнего неба. Однако в учебных целях выполним визуализацию на фоне фотографического изображения реального заката солнца. В предыдущей главе, работая над материалом для окна кафе «МАХ», мы говорили о необходимости использовать в подобном случае растровый файл с изображением заката в качестве текстуры зеркального отражения оконного стекла. Тот же файл следует применить и в качестве текстуры фона.
Итак, чтобы визуализировать сцену «МАХ-кафе» на фоне заходящего солнца, выполните следующие действия:
1. Загрузите сцену из ранее сохраненного вами файла MAX-kafe17.max. При необходимости нужную сцену со всеми материалами можно найти в папке Scenes\ Glava_15 компакт-диска, прилагающегося к книге, где она хранится под именем МАХ-кафе 17.max. Сохраните сцену с инкрементированием имени файла.
2. Раскройте окна диалога Environment and Effects (Внешняя среда и эффекты) и Material Editor (Редактора материалов). Щелкните на кнопке Environment Map (Карта текстуры фона) в разделе Background (Природный фон) на вкладке Environment (Внешняя среда) окна диалога Environment and Effects (Внешняя среда и эффекты). В появившемся окне Materila/Map Browser (Просмотр материалов и карт текстур) дважды щелкните на строке карты типа Bitmap (Растровая карта). Наименование типа карты появится на кнопке Environment Map (Карта текстуры фона) и одновременно появится окно диалога Select Bitmap Image File (Выбор файла растровой текстуры), позволяющее выбрать файл растровой текстуры. Выберите тот файл с фотографией заката, который использовали для имитации отражений в оконном стекле. Я использовал для этих целей файл Sunset.tga, который можно найти в панке Maps\Backgrnd компакт-диска, прилагающегося к книге. Щелкните на кнопке Environment Map (Карта текстуры фона), перетащите курсор в свободную ячейку Редактора материалов и отпустите кнопку мыши, создав дубликат-образец текстуры. Назовите текстуру Bagroviy zakat. На рис. 15.38 показан вид выбранной фотографии заката в окне увеличителя.
Чем хороша ЗD-графика, так это тем, что вы чувствуете себя полным хозяином в созданном вами виртуальном мире. Не составляет почти никакого труда по собственному желанию устанавливать в этом мирке день или ночь, переходить от зимы к лету или к осени. Так и с туманом. Если убрать снег и добавить туман в сцену, визуализируемую на фоне багрового заката, этот эффект поможет создать атмосферу осеннего вечера. Если же применить туман в сцене, изображающей зиму, он будет производить впечатление поземки, способствуя возникновению ощущения снежной метели. Попробуем оба варианта.
Приступим к практическому освоению приемов настройки и визуализации атмосферного эффекта типа Fog (Туман). Чтобы «подпустить» туман в сцену «МАХ-кафе», выполните следующие действия:
1. Откройте файл MAX-kafe18.max или продолжите работу над сценой, если она уже загружена в программу mах 7.5. Нужную сцену со всеми объектами и материалами вы можете при необходимости найти в папке Scenes\Glava_15 компакт-диска, прилагающегося к книге, под именем MAX-kafe18.max. Сохраните сцену с инкрементированием имени файла.
2. Раскройте окно диалога Environment and Effects (Внешняя среда и эффекты), выполнив команду основного меню Rendering > Environment (Визуализация > Внешняя среда). Щелкните на кнопке Add (Добавить) свитка Atmosphere (Атмосфера) окна диалога Environment and Effects (Внешняя среда и эффекты) и выберите строку Fog (Туман) в окне диалога Add Atmospheric Effect (Добавление атмосферного эффекта). Имя эффекта будет добавлено в список Effects (Эффекты), а в нижней части окна диалога Environment and Effects (Внешняя среда и эффекты) появится свиток Fog Parameters (Параметры тумана), показанный на рис. 15.44.
Чтобы еще более усилить атмосферу туманного, промозглого осеннего вечера, попробуйте применить эффект объемного освещения к одному из направленных источников сцены «МАХ-кафе». Заодно воспользуемся случаем, чтобы изучить еще один способ применения эффектов внешней среды к источникам света.
Чтобы освоить эффект объемного освещения, выполните следующие действия: 1. Откройте файл MAX-kafe19.max или продолжите работу над сценой, если она уже загружена в программу max 7.5. При необходимости загрузите сцену МАХ-kafe19.max из папки Scenes\Glava_15 компакт-диска, прилагающегося к книге. Сохраните сцену с инкрементированием имени файла.
2. Выделите направленный осветитель Fspot01, который располагается ближе к окну кафе. Увеличьте яркость света в счетчике Multiplier (Усилитель) до 0,7. Затем выделите Всенаправленный осветитель, расположенный снаружи от здания кафе перед его фасадом, и уменьшите его яркость до 0,3, чтобы эффект объемного освещения был лучше заметен.
3. К источникам света можно применять эффекты внешней среды не с помощью окна диалога Environment and Effects (Внешняя среда и эффекты), а с помощью свитка Atmospheres & Effects (Атмосфера и эффекты), появляющегося на командной панели Modify (Изменить) при выделенном осветителе. Выделите источник света Fspot01 и разверните свиток Atmospheres & Effects (Атмосфера и эффекты), располагающийся в самом низу панели. Щелкните на кнопке Add (Добавить) и выберите строку Volume Light (Объемное освещение) в окне диалога Add Atmosphere or Effect (Добавление атмосферного или оптического эффекта) Имя выбранного эффекта появится в списке свитка Atmospheres & Effects (Атмосфера и эффекты).
4. Для настройки эффекта выделите его имя в списке свитка и щелкните на кнопке Setup (Настройка). Появится уже знакомое нам окно диалога Environment and Effects (Внешняя среда и эффекты), раскрытое на вкладке Environment (Внешняя среда). В список Effects (Эффекты) этой вкладки также будет добавлена строка Volume Light (Объемное освещение). Эта строка будет автоматически выделена, и в нижней части окна появится свиток Volume Light Parameters (Параметры объемного освещения), показанный на рис. 15.47.
У правой стены нашего новогоднего кафе стоит камин, и было бы странно, если бы в нем не загорелся огонь, тем более что и поленья приготовлены. Для имитации открытого пламени в числе фильтров эффектов внешней среды mах 7.5 имеется модуль Fire Effect (Горение). Следует только иметь в виду, что имитируемое пламя не оказывает никакого влияния на освещение сцены, то есть огонь не является источником света — это просто изображение языков пламени. Для имитации отсветов, отбрасываемых огнем, нужно принимать дополнительные меры, в частности использовать для этого отдельный Всенаправленный осветитель. Такой осветитель, кстати, уже подготовлен нами в составе сцены «МАХ-кафе».
Попробуем применить эффект формирования сияющих ореолов к текстовому объекту, изображающему неоновую вывеску кафе «МАХ», и к материалу, примененному к плафонам настенных светильников внутри здания кафе. Это позво-ли г нам отработать навыки использования обоих типов каналов G-буфера: канала объектов и канала материалов.
Выполните следующие действия:
1. Сначала займемся сиянием вывески. Откройте файл MAX-kafe21.max или продолжите работу над сценой, если она уже загружена в программу max 7.5. При необходимости загрузите сцену со всеми материалами, фоновым изображением (если захотите имитировать и осень, и зиму) и эффектами тумана и горения из файла MAX-kafe21.max, хранящегося в папке Scenes\Glava_15 компакт-диска, прилагающегося к книге. Сохраните файл с инкрементированием имени.
2. Выделите текстовый объект Viv-eska, щелкните на нем правой кнопкой мыши и выберите в контекстном меню объекта команду Properties (Свойства). В появившемся окне диалога свойств объекта установите в счетчике Object Channel (Канал объекта) раздела G-Buffer (G-буфер) номер канала, равный 1.
Для управления режимом активной раскраски как в окне проекции, так и в отдельном окне служит четвертное меню, вызываемое щелчком правой кнопки мыши в любой точке окна и показанное на рис. 15.11.
Помимо оптических эффектов, средства свитка Camera Effects (Эффекты камеры) вкладки Renderer (Визуализатор) позволяют реализовывать визуализацию с прорисовкой контуров объектов (рис. 15.19).
Для включения режима активной раскраски в окне проекции необходимо выполнить одно из следующих действий:
активизировать нужное окно проекции и выполнить команду меню Rendering > ActiveShade Viewport (Визуализация > Активная раскраска в окне проекции); щелкнуть на заголовке активного окна проекции правой кнопкой мыши и выбрать в подменю Views (Проекции) меню окна команду ActiveShade (Активная раскраска).Сразу же вслед за этим окно проекции заливается цветом, установленным в данный момент в качестве фонового, то есть по умолчанию черным, и начинается процесс визуализации, за ходом которого можно следить по сообщениям в строке состояния mах 7.5. Сформированное изображение выводится в окно проекции не построчно, как в случае итоговой визуализации, а сразу целиком. При последующих обновлениях картинки в окне активной раскраски следить за ходом этого процесса также можно по сообщениям в строке состояния, как показано на рис. 15.10. Кроме того, процесс инициализации изображения сопровождается отображением прогресс-индикатора в виде одной строки пикселей красного цвета вдоль верхнего края окна. Ход этапа обновления изображения сопровождается отображением прогресс-индикатора в виде одной строки пикселей зеленого цвета вдоль правого края окна. По завершении визуализации в строке состояния появляется сообщение о затраченном на эту операцию времени в миллисекундах.
Мах 7.5 позволяет в ходе визуализации имитировать четыре типа природных явлений, называемых иногда атмосферными эффектами:
однородный туман (Fog) — использование этого эффекта позволяет имитировать обычный однородный туман типа дымки или смога, который постепенно скрывает объекты по мере их удаления от наблюдателя, или создавать слой тумана, располагающегося на заданной высоте над основанием сцены. Пример такого тумана можно было видеть на рис. 1.19 первой главы. Ниже нам предстоит научиться его моделировать; объемный туман (Volume Fog) — распределение такого тумана не является однородным в пределах трехмерного пространства сцены, что делает его изображение более реалистичным, чем эффект однородной дымки; объемное освещение (Volume Light) — это пучок световых лучей, которые распространяются как бы в туманной атмосфере, благодаря чему светится вся область пространства, занимаемого лучами, как показано на рис. 15.43. Если вас заинтересовал этот эффект, не упустите шанс освоить его при выполнении приведенного ниже упражнения;
Выбор текущего алгоритма визуализации производится в свитке Assign Renderer (Назначить визуализатор), показанном на рис. 15.13.
Проецирование карт текстур на воображаемый задник сцены позволяет использовать различные изображения для реалистичной имитации внешней среды, в которой размещаются объекты. Например, проецируя отсканированную фотографию на задник сцены, можно визуализировать трехмерные объекты на фоне городского пейзажа, лесной опушки или создать анимацию на фоне реального неба.
В разделе Time Output (Интервал вывода) производится выбор интервала времени или диапазона номеров кадров, которые предстоит визуализировать. По умолчанию визуализируется только единственный текущий кадр, что определяется установкой переключателя в положение Single (Текущий кадр). Можно произвести визуализацию всего временного сегмента анимации, продолжительность которого по умолчанию равна 100 кадрам, установив переключатель Active Time Segment (Активный временной сегмент). Если установить переключатель в положение Range (Диапазон), появится возможность произвести визуализацию серии последовательных кадров из диапазона, задаваемого с помощью двух счетчиков. Наконец, можно заставить max 7.5 визуализировать только отдельные кадры анимации с заданными номерами, установив переключатель в положение Frames (Кадры). При этом диапазоны кадров задаются в текстовом поле справа от переключателя начальным и последним номерами через тире, а отдельные диапазоны и номера кадров разделяются запятыми. Например, запись 1,3,5-12 запустит визуализацию кадров с номерами 1 и 3, а также диапазона кадров с 5-го по 12-й.
Для имитации фона сцены можно применять любые типы карт текстур, имеющиеся в max 7.5: Bitmap (Растровая карта), Gradient (Градиентная), Mask (Маска) и т. п. Выбор типа карты текстуры фона и настройку ее параметров можно произвести двумя способами.
Первый способ начинается с использования Редактора материалов.
1. Раскройте и расположите рядом без перекрытия окна диалога Environment and Effects (Внешняя среда и эффекты) с раскрытой вкладкой Environment (Внешняя среда) и Material Editor (Редактор материалов), активизируйте свободную ячейку образца материала и щелкните на кнопке Get Material (Получить материал). В появившемся окне диалога Materila/Map Browser (Просмотр материалов и карт текстур) дважды щелкните на наименовании нужного типа карты текстуры. В результате карта будет загружена в ячейку образца непосредственно, а не как составная часть какого-то материала. При этом она не будет нанесена на образцовый объект-сферу, а просто займет всю ячейку, как показано на рис. 15.33.
Перед тем как приступить к практической отработке моделирования тумана, рассмотрим порядок действий по выбору типов природных явлений. Для выбора эффектов, которые требуется смоделировать, выполните следующие действия:
1. Щелкните на кнопке Add (Добавить) свитка Atmosphere (Атмосфера), располагающегося на вкладке Environment (Внешняя среда) окна диалога Environment and Effects (Внешняя среда и эффекты), показанного ранее на рис. 15.31. Появится окно диалога Add Atmospheric Effect (Добавление атмосферного эффекта), в котором перечислены все типы атмосферных явлений, реализуемых установленными на данный момент программными модулями. Как вам уже известно, входящие в комплект поставки max 7.5 модули позволяют имитировать четыре типа атмосферных явлений: горение (Fire Effect), однородный туман или дымку (Fog), объемный туман (Volume Fog) и объемное освещение (Volume Light).
2. Выделите строку атмосферного явления нужного типа и щелкните на кнопке ОК. Наименование выбранного эффекта появится в списке Effects (Эффекты) свитка Atmosphere (Атмосфера), а в нижней части окна диалога Environment and Effects (Внешняя среда и эффекты) появятся свитки параметров эффекта, частично описываемые ниже в следующих разделах главы. Аналогичным образом добавьте в список Effects (Эффекты) другие типы атмосферных явлений. Все включенные в список эффекты будут воспроизведены на этапе визуализации сцены в порядке очередности, сверху вниз по списку.
3. Для управления составом атмосферных эффектов в списке Effects (Эффекты) используйте следующие элементы управления:
Delete (Удалить) — удаляет выделенный атмосферный эффект из списка; Active (Активен) — флажок, позволяющий включить/выключить действие каждого отдельного эффекта из списка. Если флажок для выделенного эффекта сброшен, этот эффект не будет визуализироваться на изображении сцены; Move Up/Down (Переместить вверх/вниз) — перемещает строку выделенного эффекта вверх/вниз по списку, изменяя порядок визуализации эффектов; Merge (Присоединить) — позволяет присоединить к текущей сцене атмосферные эффекты из других сцен max 7.5, вызывая окно диалога Merge Atmospheric Effects (Присоединение атмосферных эффектов); Name (Имя) — текстовое поле, позволяющее переименовать любой эффект в списке.
По умолчанию результат визуализации изображения сцены помещается в окно виртуального буфера кадров, предназначенное для просмотра сформированной картинки на экране монитора. Одновременно с этим можно заставить max 7.5 записать результат визуализации в файл на одном из дисков компьютера.
Для записи результатов визуализации в файл щелкните на кнопке Files (Файлы) в разделе Render Output (Вывод визуализации) и выберите нужный формат в раскрывающемся списке List files of type (Тип файла) окна диалога Render Output File (Выходной файл визуализации). Данное окно не отличается от окна диалога Select Bitmap Image File (Выбор файла растровой текстуры), рассмотренного в предыдущей главе. Введите имя выходного файла в поле File Name (Имя файла). После щелчка на кнопке ОК в окне диалога Render Output File (Выходной файл визуализации) имя выходного файла вместе с маршрутом доступа появится в текстовом поле справа от кнопки Files (Файлы). Чтобы обеспечить запись результатов визуализации в файл, имя которого указано в текстовом поле справа от кнопки Files (Файлы), проследите за установкой флажка Save File (Сохранять в файл).
Зачем же понадобилось включать подобные фильтры в программу max 7.5, и без того насыщенную массой средств, имеющих специфическое назначение, — служить инструментарием для моделирования и анимации трехмерных сцен? Дело в том, что по части фильтрации готовых изображений трехмерных сцен max 7.5 обладает рядом неоспоримых преимуществ по сравнению с традиционными графическими редакторами.
Обычный графический редактор имеет дело с изображением, которое для него, как правило, представляется просто набором разноцветных точек. Чтобы применить фильтрацию не ко всему полю этих точек, а выборочно, необходимо сформировать так называемые маски, что чаще всего приходится делать вручную. Мах 7.5 знает о сформированных им самим изображениях трехмерных сцен гораздо больше, так как имеет возможность запоминать вместе с изображениями информацию о глубине расположения объектов. Эта информация представляет собой содержимое так называемого Z-буфера (Z Buffer) (наименование скорее историческое, ведь в max 7.5 координатой глубины сцены является Y) и может использоваться для выборочной фильтрации только тех областей изображения сцены, объекты в которых располагаются на заданном удалении от зрителя. Содержимое Z-буфера можно просматривать как обычное изображение, где яркость отсчетов характеризует расстояние по глубине сцены: чем ближе объект к зрителю, тем он ярче, а чем дальше, тем темнее. Z-буфер формируется программой автоматически, также автоматически передается модулям фильтрации и его содержимое.
По одному и тому же окну проекции можно в ходе визуализации сформировать изображения различных размеров — от миниатюры размером с этикетку спичечного коробка до крупноформатных кадров размером во весь экран и даже более. Большие по размеру изображения оказываются выше по качеству визуального восприятия и обладают большим количеством деталей, но платой за увеличение размеров является рост времени визуализации. Задание размера выходного изображения производится в разделе Output Size (Размер кадра) свитка Common Parameters (Общие параметры).
Раскрывающийся список в верхней части раздела позволяет выбрать вариант Custom (Специальный) либо один из ряда стандартных размеров кино-, фото-и видеокадров. При выборе варианта Custom (Специальный) можно задавать величины параметров Aperture Width (Ширина апертуры), Image Aspect (Пропорции изображения) и Pixel Aspect (Пропорции пикселя). При выборе одного из стандартных форматов все эти параметры автоматически принимают нужные значения, которые блокируются от изменений.
Если вы хотите задать произвольную высоту или ширину выходного кадра в пикселях, к вашим услугам счетчики Width (Ширина) и Height (Высота). Шесть кнопок с надписями, соответствующими типовым значениям разрешающей способности (320x200, 256x243 и т. д.), позволяют задать типовые значения высоты и ширины изображения в пикселях. По умолчанию производится визуализация изображения размером 640x480 пикселей.
Большинство изображений, представленных в этой книге, визуализировались при значении параметров Width (Ширина) - 400 и Height (Высота) - 300. Чтобы сохранить типовое значение параметра Image Aspect (Пропорции изображения) = 1,33333, перед вводом новых значений в счетчики нужно щелкнуть на кнопке блокировки пропорций (с изображением замочка) справа от параметра Image Aspect (Пропорции изображения). Когда эта кнопка нажата, ввод значения в один из счетчиков Width (Ширина) или Height (Высота) вызывает автоматическое изменение значения в другом счетчике.
По умолчанию в ходе визуализации в реальном масштабе времени производится построчное отображение формируемого изображения в окне диалога, называемом окном визуализированного кадра (Rendered Frame Window). С этим окном вы уже познакомились ранее в главе И, но оно еще раз воспроизведено на рис. 15.17.
«Имитация проявлений внешней среды» — под этим церемонным названием скрывается очень интересная возможность воспроизводить на этапе визуализации сцены различные явления, свойственные природной среде, такие как дымка, туман или горение открытого огня, а также использовать реальные изображения природных пейзажей или архитектурных ландшафтов в качестве фона сцены. Использование таких эффектов позволяет привнести в изображение сцены реальное ощущение пространства, погодных условий и создать необходимую атмосферу, повышающую визуальное правдоподобие изображения.