Первые шаги в Maya. Урок 24. Работа с модулем Fluid Effects
Волнующаяся океанская гладь с плывущей лодкой
Плывущие по небу облака
Попробуем применить fluid-моделирование для получения плывущих по небу облаков. Создайте новую сцену. Установите в ней 3D-контейнер, щелкнув на квадратике у команды FluidEffects=>Create3DContainer и установив для контейнера разрешение 50x5x60 (поля X/Y/ZResolution) и размеры 50x5x60 (поля X/Y/ZSize) — рис. 23. Добавим к контейнеру флюиды. Для этого откройте в редакторе атрибутов вкладку fluidShape1, в свитке ContentsMethod выберите для параметра Density вариант Gradient с типом градиента Constant, а все остальные параметры, кроме Color (то есть Velocity, Temperature, Fuel и Falloff), вообще отключите, установив для них вариант Off (рис. 24).
Рис. 23. Появление 3D-контейнера
Рис. 24. Определение методов формирования параметров в свитке ContentsMethod
Теперь путем настройки параметров свитков Shading и Textures нужно добиться такого представления флюидов, чтобы при рендеринге они напоминали облака. При выделенном контейнере откройте свиток Shading и установите для параметров Color, Incandescence и Opacity связь с плотностью, выбрав для них в полях ColorInput, IncandescenceInput и OpacityInput вариант Density (рис. 25), — пока контейнер по-прежнему заполнен все той же совершенно однородной белой субстанцией, ни в коей мере не напоминающей облака. Для отображения текстур в окне перспективы включите режим аппаратного текстурирования, воспользовавшись командой Shading=>HardwareTexturing (Затенение=>Аппаратное текстурирование). Переключитесь в свиток Textures, включите флажок TextureOpacity и удостоверьтесь в том, что для TextureType выбрана текстурная карта PerlinNoise — субстанция станет неоднородной (рис. 26). Замените текстурную карту PerlinNoise на Billow — неоднородность окажется более интенсивной (рис. 27).
Рис. 25. Установка связей в свитке Shading
Рис. 26. Результат подключения текстуры PerlinNoise (свиток Textures)
Рис. 27. Результат выбора текстуры Billow (свиток Textures)
Для того чтобы скопления флюидов стали более разнообразными, увеличьте уровень их пятнистости (Spottyness) и рэнд размера (SizeRand) до 0,545 и 0,405 соответственно (изменение рэнда размера позволит добиться, чтобы разница между отдельными скоплениями флюидов стала более ощутимой). Уменьшите частоту шума (Frequency) до 0,744 — это снизит уровень детальности шума (рис. 28). Для уменьшения амплитуды шума введите в поле Amplitude значение 0,760 и уменьшите шумовой порог (Threshold) до 0,207. Установите для параметра OpacityTexGain значение 1,058. Повысьте уровень глубины просчета текстурной карты (DepthMax) до 4 и включите флажок Inflection для усиления воздействия шума (рис. 29). В свитке Lighting включите флажок Selfshadowing для появления на облаках естественных затененных областей (рис. 30).
Рис. 28. Первая корректировка настроек текстуры Billow (свиток Textures)
Рис. 29. Вторая корректировка настроек текстуры Billow (свиток Textures)
Рис. 30. Корректировка параметров в свитке Lighting
Откройте свиток Shading и увеличьте базовую прозрачность флюидов (Transparency), перетащив слайдер так, чтобы он оказался примерно в начале последней трети шкалы. Измените вариант снижения интенсивности плотности флюидов — установите для параметра DropoffShape метод ZGradient и увеличьте порог снижения (EdgeDropoff) до 0,3 (рис. 31). Измените тональную кривую непрозрачности (Opacity) в соответствии с рис. 32. В итоге благодаря смещению левого маркера вправо при нулевом значении часть ранее видимых полупрозрачных включений в нем станет полностью невидна, а добавление маркера в середину кривой с ее поднятием вверх приведет к тому, что фрагменты флюидов с соответствующим уровнем плотности окажутся видимыми более отчетливо. В итоге скопления флюидов вполне уже будут походить на облака (рис. 33).
Рис. 31. Настройка базовых параметров свитка Shading
Рис. 32. Корректировка непрозрачности на уровне вокселей (раздел Opacity свитка Shading)
Рис. 33. Визуализированные облака
Теперь наша задача — настроить цветовые оттенки и фон для облаков. При выделенном контейнере переключитесь в свиток Incandescence, удалите в градиенте два последних слайдера и введите в поле InputBias значение –0,532 (рис. 34). Добавьте в сцену камеру (команда Create=>Cameras=>Camera) и расположите ее подходящим образом. Откройте для камеры окно редактора атрибутов и в секции Environment (Окружающая среда) щелкните на кнопке ImagePlaneCreate (Создать плоскость изображения) и укажите в качестве фонового рисунка Ramp-текстуру (рис. 35). Добавьте в сцену источник света типа Directional, уменьшите его интенсивность (Intensity) до 0,8, измените цвет в поле Color на бледно-розовый и поверните источник под небольшим углом (рис. 36). Возможный вид небольшого фрагмента полученного в итоге неба с облаками представлен на рис. 37.
Рис. 34. Настройка параметров свитка Incandescence
Рис. 35. Подключение текстуры в качестве фонового изображения для камеры
Рис. 36. Добавление источника света
Рис. 37. Небо с облаками
Подобное изображение может быть сохранено в качестве текстуры для последующего использования в сценах. Кроме того, имеется возможность получить имитацию движения облаков, хотя они и реализованы как нединамический fluid-эффект. Для этого выделите контейнер, удостоверьтесь, что находитесь в первом кадре анимации, перейдите в свиток Textures и создайте ключ для параметра TextureTime, применив команду SetKey (Установить ключ) из контекстного меню. После этого перейдите в последний кадр и вновь создайте ключ на данный параметр, но уже с другим значением (рис. 38). Проиграйте анимацию — облака будут двигаться (рис. 39).
Рис. 38. Создание ключей в первом и последнем кадрах анимации
Рис. 39. Плывущие по небу облака в нескольких кадрах анимации