Как стать автором
Обновить
0
UNIGINE
3D-движок. Игры, симуляторы, GPU бенчмарки, VR.

Технологии UNIGINE 2: облака

Время на прочтение6 мин
Количество просмотров3.6K

Когда небо — это не просто скайбокс.

Вы когда-нибудь задумывались, сколько бывает разновидностей облаков? Кто-то вспомнит кучевые или перистые, ну и, конечно, тучи. Но на самом деле их достаточно много — ученые выделяют 10 основных типов:

1. Слоистые (Stratus)
1. Слоистые (Stratus)
2. Слоисто-кучевые (Stratocumulus)
2. Слоисто-кучевые (Stratocumulus)
3. Слоисто-дождевые (Nimbostratus)
3. Слоисто-дождевые (Nimbostratus)
4. Кучевые (Cumulus)
4. Кучевые (Cumulus)
5. Кучево-дождевые (Cumulonimbus)
5. Кучево-дождевые (Cumulonimbus)
6. Перистые (Cirrus)
6. Перистые (Cirrus)
7. Перисто-слоистые (Cirrostratus)
7. Перисто-слоистые (Cirrostratus)
8. Перисто-кучевые (Cirrocumulus)
8. Перисто-кучевые (Cirrocumulus)
9. Высокослоистые (Altostratus)
9. Высокослоистые (Altostratus)
10. Высококучевые (Altocumulus)
10. Высококучевые (Altocumulus)

И, как вы уже могли заметить, многие названия частично повторяют другие. Дело в том, что большинство типов облаков — смесь 2 из 3 базовых видов: слоистых, кучевых и перистых.

  • Слоистые (Stratus) встречаются ближе всего к земле (ниже 400 метров над уровнем моря) и иногда образуют туман.

  • Кучевые (Cumulus) — те самые «барашки», самый известный вид облаков. Они формируются в ясную погоду на уровне 1-2 тысяч метров над уровнем моря и не всегда связаны с осадками.

  • Перистые (Cirrus) облака встречаются в верхних слоях атмосферы (выше 5500 метров), имеют нитевидную форму и состоят из кристалликов льда. Их появление часто свидетельствует о скором ливне или буре.

На нашем движке можно смоделировать все 10 типов облаков! И не просто смоделировать, а заполнить ими небо до самого горизонта. При этом облака будут плыть по небосводу, реалистично освещаться и взаимодействовать друг с другом.

В сегодняшней статье расскажем про технологию моделирования облачного неба в UNIGINE 2.

А зачем подробно моделировать облака?

В крупномасштабных виртуальных мирах облака — неотъемлемая часть атмосферы. Они могут быть не просто частью декорации (скайбокса), но и мощным инструментом для художников. Именно облака отвечают за погоду в настоящем мире, поэтому с их помощью можно визуализировать реалистичные погодные условия, что только подчеркнет размеры виртуального мира и качество его проработки.

Самый яркий пример проекта, где особенно важно качество проработки облачного неба — авиасимулятор. Пилоты самолетов во многом ориентируются по облакам, когда прокладывают безопасный маршрут, а также лишь на облака приходится полагаться, в случае отказа авионики. Кроме того, авиадиспетчерам тоже важно визуально предсказывать погоду по облакам, чтобы обеспечивать безопасный заход на посадку прибывающих бортов, а также принимать решения по аварийным в считанные минуты. Поэтому визуализация облачного неба должна быть максимально близка к реальному миру для успешной тренировки персонала.

При создании инструментов для визуализации облаков мы в UNIGINE консультировались с пилотами и авиационным экспертами, часть из которых — наши клиенты. Это помогло учесть большинство формообразующих и других факторов, влияющих не только на внешний вид, но и на устройство облачного неба.

Каким можно сделать облачное небо в UNIGINE 2?

Очень близким к тому, что можно наблюдать в реальном мире. Все благодаря богатому функционалу настроек и особенностей. Облака в UNIGINE 2 — не просто текстуры на скайбоксе, а полноценные трехмерные волюметрические объекты. Их освещение и тени рассчитываются на основе комплексных физических моделей. Объемные облака визуализируются с использованием технологии Ray-marching на основе данных о покрытии и уточняются с помощью набора сложных шумовых искажений, предоставляющих художникам полный контроль и высочайший уровень детализации.

Облака реалистично выглядят не только снаружи, но и внутри (что особенно важно для авиасимуляторов), и даже отбрасывают тени друг на друга и на землю. При этом с любого ракурса не будет мерцания, шума, некорректной сортировки и других раздражающих артефактов изображения.

Все 10 основных типов облаков, представленных в природе, доступны в UNIGINE прямо из коробки в виде настраиваемых пресетов:

Пресеты облаков в UNIGINE 2
Пресеты облаков в UNIGINE 2

Как мы уже упоминали во вступлении, разные типы облаков располагаются на разной высоте:

  • Выше всех расположены перистые (Cirrus) и их производные (Cirrostratus, Cirrocumulus).

  • Ниже — кучевые (Cumulus) и их производные (Cumulonimbus и др.).

  • Ближе всего к земле — слоистые (Stratus) и их производные (Stratocumulus и др.).

В UNIGINE 2 можно создать несколько слоев облаков, что сделает небо еще реалистичнее:

Облачное небо из нескольких слоев в UNIGINE 2
Облачное небо из нескольких слоев в UNIGINE 2

В реальном мире облачное небо не плоское — оно слегка искривлено, повторяя форму планеты. В UNIGINE 2 можно учесть и эту особенность, включив поддержку кривизны Земли:

Это позволяет моделировать сценарии реального мира в масштабе всей планеты с 64-битной точностью координат и высокой степенью визуальной достоверности.

Круто, но тормозить же будет?

Вовсе не обязательно. В UNIGINE 2 можно гибко настроить оптимизацию для облаков либо воспользоваться одним из пресетов: от минимального качества (Low) до максимального (Extreme).

Для максимального качества облачного неба и правда может понадобиться супермощный компьютер, но оно избыточно для большинства проектов и сценариев использования. Именно поэтому в системе облаков предусматривается широкий спектр оптимизаций, позволяющих с учетом особенностей того или иного проекта снизить нагрузку на рендер, без видимого ущерба для визуальной составляющей.

Например, если камера в основном смотрит на небо с земли, то можно понизить разрешение до 4 раз или включить разреженную отрисовку облаков — разница с максимальным качеством будет едва заметна.

В настройках качества доступны следующие параметры:

  • Sampling Quality. Устанавливает количество образцов шума для придания формы облакам: от 1 (низкое качество) до 6 (максимальное). Чем выше значение — тем меньше артефактов.

  • Lighting Quality. Качество освещения, исходя из количества образцов: от 1 (низкое качество) до 6 (максимальное).

  • Samples Count. Количество образцов для отрисовки облаков: от 1 (низкое качество) до 6 (максимальное).

  • Step Accuracy. Отвечает за визуальный вид облаков при просмотре изнутри облачного слоя. Более высокие значения обеспечивают более точную форму и меньший шум, в то время как более низкие значения повышают производительность. Диапазон значений: от 0.0f до 1.0f. Значение по умолчанию — 0,5f.

  • Downsampling Rendering. Отрисовка облаков в пониженном до 4 раз разрешении.

  • Interleaved Rendering. Разреженная отрисовка облаков до значения 8x8.

Разреженная отрисовка облаков при ракурсе с земли заметна лишь при резких поворотах камеры
Разреженная отрисовка облаков при ракурсе с земли заметна лишь при резких поворотах камеры
  • Depth Based Reconstruction. Отрисовка в полном разрешении только облаков на переднем плане, при включенном даунсемплинге.

  • Interleaved Rendering Temporal. Отображает, применяется ли временной сбор шумов для разреженного семплинга облаков.

  • Depth Based Reconstruction Threshold. Определяет разницу в глубине, начиная с которой пиксели считаются связанными с разными поверхностями. Диапазон значений: от 0.0f до inf (+бесконечности). Значение по умолчанию — 100f.

  • Настройки качества шума: Noise Step (шаг), Noise Iterations (итерации), Noise Lighting (освещение), Noise Step Skip (пропуск шагов).

А внешний вид облакам можно придать любой?

Можно сделать максимально реалистичные облака, соответствующие форме определенных типов, упомянутых выше. Самый сложный из них — кучево-дождевые (Cumulonimbus). Они могут иметь высоту в несколько километров и очень замысловатую форму. Поэтому специально для них мы сделали 3 отдельных пресета с базовыми формами:

А можно вообще сделать облако в виде кораблика или любого другого объекта:

Для создания реалистичного вида облаков их можно гибко настроить, задав тип формы (одним из пресетов или вручную), детализацию, разреженность, высоту над землей, оттенок освещения (дневной белый, сумеречный оранжевый и др.), затенение (в т.ч. тени от облаков на земле), влияние ветра и многое другое:

А как регулировать облачность в конкретных областях?

Каждый облачный слой может быть в Infinite (англ. «бесконечный») или Defined (англ. «определенный») режиме. Второй режим позволяет сделать облачный слой любого ограниченного размера с дополнительной маской для кастомной формы. Например, так можно сделать область из облаков размером 100 на 100 метров и в форме чего угодно.

Когда нужно создать контролируемые локальные грозы или облака с изменяющимся покрытием, можно использовать объект Field Weather. Он позволяет создавать локальные шторма или облака с собственной текстурой поверхности, а также контролировать их перемещение.

Количество объектов FieldWeather не ограничено, так как их влияние на производительность несущественно.

А можно ли задавать региональную погоду?

Да, но эта возможность доступна только в максимальной комплектации UNIGINE 2 Sim. Высокоуровневая система управления погодой (High Level Weather System) позволяет управлять погодой на глобальном и региональном уровнях, без написания кода.

Можно создавать неограниченное количество областей региональной погоды любой формы, добавлять к ним несколько слоев и управлять каждым из них по отдельности. Доступна регулировка видимости, давления, температуры, влажности, облачности, количества осадков, ветра и других параметров для каждого слоя.

Самый яркий пример региональной погоды — грозовые области. Они образуются в мощных кучево-дождевых облаках (Cumulonimbus) при взаимодействии холодного и теплого фронтов воздуха. В результате образуется то, что мы видим с земли — огромные темно-серые тучи, именуемые грозовым фронтом. В грозовых областях возможен не только дождь и молнии, но также они могут вызывать бури и смерчи.

* * *

Таким получилось наше второе путешествие по технологиям трехмерной графики в UNIGINE 2. Продвинутая визуализация облачного неба пригодится для многих проектов, в которых сделан акцент на пейзажи или вовсе действие происходит в воздухе! В нашем SDK можно не просто создать красивый скайбокс, но и полностью смоделировать любую погоду с соответствующим видом облаков, с учетом малейших деталей: от формообразующих факторов до освещения и даже имитации кривизны атмосферы планеты.

Если пропустили первый выпуск рубрики «Технологии UNIGINE 2», рассказывающий про нашу систему рендеринга воды, то перейдите по ссылке.

Теги:
Хабы:
Всего голосов 36: ↑34 и ↓2+32
Комментарии3

Публикации

Информация

Сайт
www.unigine.com
Дата регистрации
Дата основания
2005
Численность
51–100 человек
Местоположение
Россия

Истории