Первые шаги в Maya. Урок 28. Атмосферные эффекты
Реалистичный туман (Physical Fog)
Примеры создания сцен с эффектами Environment Fog и Light Fog
Разноцветные колонны в объемном свете
Море в лучах заходящего солнца
Вид сцены зависит не только от того, какие объекты в ней находятся, как они текстурированы и освещены, но и от окружения объектов, в частности наличия атмосферных эффектов в виде тумана, дыма или пыли. Благодаря удачной настройке таких эффектов можно изменить настроение сцены, сделать ее более реалистичной или, наоборот, добавить мистики. В Maya возможно моделирование атмосферных частиц путем назначения сцене эффекта Environment Fog (Туман окружающей среды) и создание частиц в воздухе, освещенных лучами от источников света с помощью эффекта Light Fog (Светящийся туман). В данном уроке мы обратим внимание на названные приемы настройки атмосферы, благодаря которым можно имитировать не только обычный туман, но также пыль, дым, воздух, смог, плазму, разнообразные туманности или даже магическое свечение.
Теоретические аспекты
Environment Fog
Туман окружающей среды бывает двух типов — простой (SimpleFog) и реалистичный (PhysicalFog). Первый обычно используется для создания тумана, равномерно скрывающего объекты в направлении глубины поля зрения — то есть по горизонтали. Второй позволяет более гибко настраивать параметры в терминах реальных физических явлений и может скрывать объекты неравномерно в зависимости от их вертикальной координаты и с учетом того, где они находятся: в воде, в области линии горизонта либо в воздухе. Стоит иметь в виду, что эффект тумана окружающей среды не может формировать тени: если требуется наличие теней, то придется использовать эффект Light Fog с объемным источником света.
Назначение эффекта Environment Fog производится в окне RenderSettings, открываемом командой Window=>RenderingEditors=>RenderSettings либо нажатием на кнопку RenderSettings. В данном окне требуется активировать вкладку MayaSoftware, раскрыть секцию RenderOptions и щелкнуть мышью на кнопке справа от поля EnvironmentFog. Это приведет к появлению в данном поле строки environmentFogShape (рис. 1) и двух новых узлов: envFogMaterial и envFogLight, которые можно будет увидеть в окне Hypershade. Первый представляет собой объемный материал, связанный с объектом environmentFogShape (но не назначенный конкретной поверхности), второй используется для связывания данного объекта с источниками света.
Рис. 1. Назначение сцене эффекта Fog
По умолчанию устанавливается тип тумана SimpleFog; чтобы изменить тип тумана на реалистичный, нужно активировать узел envFogMaterial и в редакторе атрибутов включить флажок PhysicalFog. Настройка параметров обоих типов тумана производится в редакторе атрибутов при активированном узле envFogMaterial. Специфические параметры простого и реалистичного тумана (цвет, плотность и т.д.) корректируются в секциях SimpleFog и PhysicalFog соответственно (рис. 2). В секции ClippingPlanes (Плоскости отсечения; рис. 3) определяется диапазон влияния окружающей среды, задаваемый двумя ограничивающими плоскостями. Это могут быть ближняя и дальняя границы самого тумана (Fog Near Distance и FogFarDistance) либо ближняя и дальняя плоскости отсечения камеры (Near Clip Plane и Far Clip Plane), ограничивающие в пространстве ее поле зрения. По умолчанию используется первый вариант ограничения зоны распространения тумана, для замены его на второй вариант в поле DistanceClipPlanes (Размещение плоскостей отсечения) нужно установить CameraNear/Far.
Рис. 2. Секции SimpleFog и PhysicalFog
Рис. 3. Секция ClippingPlanes
Простой туман (Simple Fog)
По структуре простой туман обычно полностью однороден и равномерно скрывает объекты по горизонтали. Однако путем назначения эффекту текстурных карт на каналах цвета и плотности можно добиться некоторой неоднородности тумана — например превратить его в подобие дыма. Область распространения простого тумана может ограничиваться ближней и дальней его границами либо плоскостями отсечения камеры. Дополнительно также можно регулировать пределы вертикального распространения тумана.
Для примера создайте произвольную сцену с плоскостью и тремя лежащими на ней шарами (рис. 4). Добавьте три Blinn-материала с шахматной текстурой и назначьте их шарам, а затем визуализируйте сцену (рис. 5). Включите генерацию эффекта простого тумана — откройте окно Render Settings (команда Window=>Rendering Editors=>Render Settings либо кнопка Render Settings), на вкладке Maya Software раскройте секцию Render Options и щелкните мышью на кнопке справа от поля Environment Fog. Визуализируйте сцену — туман покроет всю сцену полностью (рис. 6), а объекты окажутся совершенно плоскими и черными, что связано с отсутствием учета установленного по умолчанию освещения.
Рис. 4. Исходная сцена
Рис. 5. Начальный вид сцены без тумана
Рис. 6. Начальный вид сцены с простым туманом
Чтобы изменить ситуацию, активируйте в окне Outliner узел envFogLight и включите для него флажок Illuminates by Default (рис. 7) — после этого текстура на объектах окажется видимой, но они все равно будут выглядеть плоскими (рис. 8). Названная проблема связана с тем, что узел envFogLight по умолчанию используется как Ambient-источник. Измените тип данного источника на Point и переместите его в верхнюю часть сцены — объекты станут объемными (рис. 9). Для улучшения освещения сцены дополнительно включите в нее еще два направленных источника света (мы выбрали источники типа DirectionalLight) — рис. 10. Уменьшите уровень яркости данных источников (примерно до 0,7 для верхнего и до 0,4 для нижнего) и включите для верхнего из Directional-источников генерацию теней на основе карты глубины, активировав в окне каналов флажок DepthMapShadows (Использовать тени на основе карты глубины). Активируйте в окне Hypershade узел envFogMaterial. В редакторе атрибутов в поле Color установите для тумана светло-голубой цвет, а у параметра SaturationDistance, отвечающего за уровень плотности тумана, уменьшите значение до 25 — туман станет голубым, а плотность его увеличится, но ближняя и дальняя границы распространения тумана останутся неизменными (рис. 11 и 12).
Рис. 7. Изменение параметров узла envFogLight
Рис. 8. Результат включения учета освещения по умолчанию
Рис. 9. Вид сцены после повторного изменения параметров узла envFogLight
Рис. 10. Появление дополнительных источников света
Рис. 11. Изменение параметров узла envFogMaterial
Рис. 12. Вид сцены после коррекции настроек тумана
Откройте в редакторе атрибутов секцию ClippingPlanes, удостоверьтесь, что в поле DistanceClipPlanes установлен вариант FogNear/Far (Ближняя граница/Дальняя граница тумана). Теперь подрегулируем границы распространения тумана и его плотность — установите ближнюю границу (Fog Near Distance) равной 40 и уменьшите плотность (SaturationDistance) до 15 (рис. 13). Также отключите отображение зеркальных бликов у связанного с туманом Point-источника, убрав галочку в поле Emit Specular. После этого никакого тумана на переднем плане уже не будет, зато на заднем он станет более заметен (рис. 14). Несложно также заставить туман заполнить строго определенную по вертикали область — это возможно при включении флажка UseHeight, после чего область распространения тумана будет ограничена его минимальной (MinHeight) и максимальной высотой (MaxHeight). Включите названный флажок и введите в полях MinHeight и MaxHeight значения –2 и 13,5 соответственно — туман теперь окажется наиболее плотным на линии горизонта, а по мере удаления от нее будет заметен слабее (рис. 15 и 16).
Рис. 13. Корректировка границ распространения тумана и его плотности
Рис. 14. Результат ограничения зоны распространения тумана
Рис. 15. Регулирование распространения тумана по высоте
Рис. 16. Вид сцены после ограничения области распространения тумана по высоте
Попробуем теперь сделать туман более плотным и неоднородным. Вначале повысим его плотность, установив в поле SaturationDistance значение 5. А затем создадим неоднородную структуру тумана, отключив флажок Color Based Transparency (Базовая прозрачность цвета) и назначив параметру Color текстуру Cloud (рис. 17) — туман станет напоминать дым (рис. 18). Сохраните сцену, поскольку позднее мы к ней еще дважды вернемся.
Рис. 17. Корректировка параметров тумана, отвечающих за неоднородность
Рис. 18. Неоднородный туман