Создание погодных эффектов
Создание атмосферных эффектов - это, по сути, художественная задача. Вы можете имитировать различные погодные условия, используя только функциональность UnigineEditor, если только вам не нужно какое-то взаимодействие или сложные плавные переходы. В этой статье описываются общие способы создания таких эффектов в UNIGINE.
Облачное Небо#
Для большинства погодных эффектов требуется хмурое небо. В некоторых случаях достаточно изменить цвет неба, но вы также можете использовать различные типы облаков, доступные из коробки.
Капли дождя и Снегопад#
Эффекты капель дождя и снегопада схожи и обычно моделируются с использованием Систем частиц.
Посмотрите сцену particles_rain_effect в наборе демо-сцен Art Samples (art_samples > particles > particles_rain_effect), демонстрирующую эффект дождя. Вы можете открыть ее в UnigineEditor и посмотреть, как он сделан. В целях оптимизации в этом примере системы частиц привязаны к камере с помощью сценариев, чтобы создавать капли дождя только в некоторой локальной области вокруг игрока.
Молния#
Молния может быть смоделирована многими способами; наиболее распространенным подходом является излучающий Billboard или меш в зависимости от требуемого уровня качества. Чтобы имитировать случайно возникающие удары молнии, вы можете настроить случайный период для частиц на основе рекламных щитов и использовать Атлас текстур, содержащий различные изображения молний.
Для моделирования того, как высокодетализированная молния влияет на освещение сцены, может потребоваться более сложное решение, включающее шейдеры и программирование.
Туман#
Чтобы имитировать туман, посмотрите настройки Environment Haze. Эта функция отлично подходит для добавления в сцену тумана и плотного тумана с поддержкой плотности, зависящей от высоты.
Шторм#
Штормовое море может быть реализовано с использованием волн Global Water: вы можете использовать набор предопределенных волн Бофорта с плавным переходом между состояниями моря или настроить волны в соответствии с вашими потребностями.
Волнами также можно управлять с помощью кода. Набор примеров Water Global в наборе CPP Samples, включенном в SDK, демонстрирует, как использовать C++ API для управления Global Water и для определения уровня воды в заданной точке, имитирующей всплеск воды в точке контакта с лодкой или другим объектом.
Ветер#
Ветер - довольно сложный эффект; нет глобальных настроек ветра, влияющих на весь контент в мире проекта. Эффект ветра можно было бы разбить на следующие компоненты:
-
Анимация растительности. Существует несколько подходов к анимации растений, подверженных воздействию ветра, требующих определенных корректировок при моделировании геометрии. Ознакомьтесь с этими руководствами:
- Physical Wind, воздействующий на физические объекты и частицы с массой.
- Пыль и небольшие летающие объекты также можно сделать с помощью Системы частиц.
- Шторм на воде и движение облаков выполняется в настройках этих соответствующих объектов и их материалов.
Сложные Эффекты#
Более сложные эффекты, такие как капли воды и полосы на объективе камеры, брызги в лужах, иней на экране и эффект стеклоочистителя, требуют написания шейдерного кода и есть в дополнении Weather Add-on, доступном начиная с Engineering SDK (только для Windows).