1 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Атомная бомба: ударная волна и разрушение

Атомная бомба: ударная волна и разрушение

Сегодня исполняется 100 лет со дня рождения Андрея Сахарова, отца советского термоядерного оружия, одного из ведущих создателей самой мощной бомбы в истории человечества АН602. Благодаря труду этого ученого и многих других физиков, математиков и инженеров, СССР достиг ядерного паритета в Холодной Войне, и тем самым сделал бессмысленным её переход в горячую стадию.

В предыдущем материале мы рассказали о том, как создавался волюметрический эффект грибовидного облака

Проблема окружающего мира

Атомный взрыв — это нечто совершенно выдающееся, то, что должно потрясти маленький игровой мир до основания и затронуть все элементы окружения. Мир должен разделиться на «до» и «после» — так, как оно происходило в реальной жизни.

Световая вспышка озаряет все пространство в радиусе десятков километров, будучи видимой сквозь облака и туман. По мере прохождения ударной волны облака из-за локального нагрева испаряются, а затем конденсируются заново. Во влажную погоду возможна конденсация облаков и куполов из воздуха, как это происходило во время испытаний Crossroads «Able» или РДС-3 .

Конденсационный купол во время испытания РДС-3

Прохождение ударной волны по земной поверхности сопровождается поднятием облаков пыли. Ударная волна взрыва распространяется на дистанции в несколько километров, воздействуя на деревья, здания и другие объекты, разрушая их. Число объектов, одновременно затронутых ударной волной, измеряется тысячами.

Воздействие ударной волны на здание

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

Ударная волна

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

При виде сверху границы между волюметриком и декалью практически не видно. Зеленой стрелкой показана граница ударной волны, реализованной декалью

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

Красным обведен «честный» волюметрический эффект. Обведенное зеленым пространство занято декалью.

Для того, чтобы поднятая с земли пыль лучше соответствовала ландшафту, в качестве диффузного цвета для нее используется самый грубый лод виртуальной текстуры земли, интерполированный в сторону серо-коричневого «пыльного» цвета. В большинстве случаев такой цвет получается адекватным.

Облака и конденсационные купола

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

Ночной взрыв. Освещение облаков, конденсационный купол. Видно испарение облаков в сфере вокруг взрыва

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

Конденсационное облако

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

Граница между частями облака. Сплошным цветом показан занятый конденсационным облаком объем.

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

Разрушение

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

Читать еще:  Газовый баллончик шок: отзывы, последствия применения, цена

Перед взрывом. . и после

Для игры со свободной камерой, вроде War Thunder, требуется показать разрушение всех объектов. Нельзя выбрать какой-то один ракурс или одну группу объектов, разрушение требуется всему на всех локациях. Ситуация усложняется тем, что большой процент ассетов вообще не имеет анимаций разрушения или разрушенного состояния. А даже если эти анимации имеются, то они реализованы на клиент-серверной архитектуре и выполняются на CPU, и одновременная анимация тысяч объектов мгновенно выберет весь ресурс производительности.

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

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

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

Необходимость весьма специфической анимации разрушения абсолютно для всех объектов сцены, включая неразрушимые, потребовала специфического решения. Анимация разрушения выполняется с помощью геометрического шейдера, разбивающего ассеты на отдельные полигоны, которые далее летят по индивидуальным траекториям.

Траектория каждого обломка рассчитывается, исходя из силы ударной волны на заданном расстоянии. В зависимости от высоты поражаемого объекта и силы волны рассчитывается «линия среза». Чем выше объект и чем слабее волна, тем выше располагается «линия среза». Для плотной городской застройки это имитирует гашение ударной волны у земли при сохранении поражающей силы на высоте. Но в общем случае это предположение о прочности неверно и требует серьезной доработки.

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

Крупные полигоны генерируют до трех полигонов-обломков, с тем же размером, но далее в пиксельном шейдере в шахматном порядке происходит их отсечение. Это хорошо скрывает полигональную топологию разрушения для относительно небольших треугольников. На крупных треугольниках «шахматы» просматриваются явно.

«Шахматный» паттерн, используемый для эффекта

Цена разрушения

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

К сожалению, это недоверие к геометрическим шейдерам полностью оправдано.

На 1060 GTX разрушение города с типового изометрического ракурса занимает 10 мс на кадр. Для наиболее детализированных локаций со множеством высокополигональных зданий разрушение занимает уже порядка 20 мс, что вкупе с рендером остального кадра снижает FPS до 30. Учитывая зрелищность процесса разрушения и тот факт, что он происходит в момент прекращения игрового процесса, такая частота кадров видится нормальной (к тому же, сам шейдерный процесс разрушения исключает фризы, поэтому FPS будет стабильным). Но видеокарта 1060 ввиду этого является предельной, поэтому анимация разрушения с обломками отображается только на пресетах «максимум» и «кино». Для всех остальных пресетов генерируются только остовы зданий и других объектов, что на порядок дешевле, так как остовы не требуют геометрического прохода.

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

Итоги

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

Тем не менее, эффект проигрывает по зрелищности и деталям эффектам, которые целиком сконструированы и отрисованы для одной сцены. Универсальный алгоритм никогда не даст того, что дает индивидуальная настройка и корректировка.

Читать еще:  Пневматический пистолет borner w3000m: характеристики, устройство, принцип действия, фото и видео

Суммарно эффект использует примерно 1 мб видеопамяти, та как практически все его элементы генерируются в реальном времени. Это особенно важно в условиях дефицита видеопамяти на ряде платформ.

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

Как я перестал бояться и полюбил бомбу

Наверное, это самая крутая и сложная задача по графике, над которой я когда-либо работал.

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

Ну а настроение в ходе разработки было примерно таким:

Ядерный взрыв

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

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

Содержание [ ]

1 Физические основы
2 Классификация ядерных взрывов
2.1 Классификация по мощности
2.2 Классификация по нахождению центра взрыва
3 Явления при ядерном взрыве
3.1 Специфичные только для ядерного взрыва
3.2 Характерные для сильного взрыва вообще вообще
4 Особенности проявлений взрыва в зависимости от места его центра
4.1 Космический взрыв
4.2 Воздушный взрыв
4.2.1 Огненный шар
4.2.2 Ударная волна
4.3 Наземный взрыв
4.4 Подводный взрыв
4.4.1 Пузырь
4.4.2 Султан
4.4.3 Базисная волна
4.4.4 Гравитационные волны
4.5 Подземный взрыв
5 Поражающие факторы
5.1 Ударная волна
5.2 Оптическое излучение
5.3 Проникающая радиация
5.4 Электромагнитный импульс
5.5 Радиактивное заражение
5.6 Эпидемиологическая и экологическая обстановка
5.7 Психологическое воздействие

Физические основы [ ]

Атомные ядра некоторых изотопов химических элементов с большой атомной массой (например урана или плутония) при их облучении нейтронами определённой энергии теряют свою устойчивость и

Схема деления ядер урана

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

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

Классификация ядерных взрывов [ ]

Ядерные взрывы обычно классифицируют по двум признакам: мощности заряда, производящего взрыв, и

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

Читать еще:  Револьвер ОЦ — 20 «Гном»

Классификация по мощости

Классификация по находению центра взрыва

Приведённая высота (глубина) заряда в метрах на тонны тротилового эквивалента в кубическом корне (в скобках пример для взрыва мощностью 1 мегатонна):

Ядерный взрыв в космосе

магнитосферный — свыше 400—500 км

космический или экзоатмосферный: свыше 100 км

Ядерный взрыв

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

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

Содержание [ ]

1 Физические основы
2 Классификация ядерных взрывов
2.1 Классификация по мощности
2.2 Классификация по нахождению центра взрыва
3 Явления при ядерном взрыве
3.1 Специфичные только для ядерного взрыва
3.2 Характерные для сильного взрыва вообще вообще
4 Особенности проявлений взрыва в зависимости от места его центра
4.1 Космический взрыв
4.2 Воздушный взрыв
4.2.1 Огненный шар
4.2.2 Ударная волна
4.3 Наземный взрыв
4.4 Подводный взрыв
4.4.1 Пузырь
4.4.2 Султан
4.4.3 Базисная волна
4.4.4 Гравитационные волны
4.5 Подземный взрыв
5 Поражающие факторы
5.1 Ударная волна
5.2 Оптическое излучение
5.3 Проникающая радиация
5.4 Электромагнитный импульс
5.5 Радиактивное заражение
5.6 Эпидемиологическая и экологическая обстановка
5.7 Психологическое воздействие

Физические основы [ ]

Атомные ядра некоторых изотопов химических элементов с большой атомной массой (например урана или плутония) при их облучении нейтронами определённой энергии теряют свою устойчивость и

Схема деления ядер урана

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

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

Классификация ядерных взрывов [ ]

Ядерные взрывы обычно классифицируют по двум признакам: мощности заряда, производящего взрыв, и

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

Классификация по мощости

Классификация по находению центра взрыва

Приведённая высота (глубина) заряда в метрах на тонны тротилового эквивалента в кубическом корне (в скобках пример для взрыва мощностью 1 мегатонна):

Ядерный взрыв в космосе

магнитосферный — свыше 400—500 км

космический или экзоатмосферный: свыше 100 км

Ссылка на основную публикацию
Статьи c упоминанием слов:
Adblock
detector