Как сделать эффект попадания пули в человека

Обновлено: 04.07.2024

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

В начале импортируем стандартные ассеты Effects, потому как там есть нужные нам шейдеры. Затем, надо сделать пару новых слоев, для плоской поверхности и для вражеского персонажа допустим. И соответственно назначаем объектам эти слои. Это нужно чтобы конкретные проекторы работали с конкретными слоями, не перекрывая другие:

Следы от пуль / пятна крови на персонаже

Создадим префаб проектора для плоской поверхности, для стен например. Добавляем на сцену новый пустой объект и назовем его ProjectorWall, цепляем на него компонент Projector с настройками как на скриншоте:


Как видно, здесь мы исключаем все слои, кроме слоя Wall в списке Ignore Layers. Параметр Orthographic Size для настройки размера, в режиме Orthographic, это режим лучше всего подходит под наши задачи.

Теперь создаем новый материал под именем Wall и указываем его в соответствующем поле проектора. В материале выбираем шейдер Projector > Multiply:


Теперь надо добавить в шейдер текстуры для Cookie и FallOff. Так вот Cookie это основная текстура, а FallOff обрезает видимость основной текстуры, черный цвет обрезает видимость. Например, если текстура наложена на край куба, то будет закрашена поверхность куба, которая стыкуется с этим караем. Поэтому текстура FallOff для плоскости рисуем вот так:


Будет видимый только центр. Настройки текстуры выглядят следующим образом:


Настройки текстуры дырок от пуль для Cookie такие:


Важный момент! След от пули или пятно крови, должно быть на белом фоне, не прозрачном. Формат может быть PNG или JPG, без разницы.

Теперь сделаем дубликат префаба проектора, назовем его ProjectorEnemy настройки почти такие же, но в списке Ignore Layers уже исключаем все кроме слоя Enemy.


А так же укажем новый материал. Дубликат предыдущего, но с другими текстурами, настройки самих текстур такие же, вид FallOff уже будет таким:


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

На оба префаба, вешаем скрипт BulletProjector:

Скрипт укорачивает рабочую область проектора, допуск мы указываем в переменной distanceTolerance. Для плоскости вполне хватит значения 0.05, а для рельефа 0.1 или больше. Поэкспериментируйте с префабами проекторов и найдите нужное вам значение.

Теперь стрельба.
Добавьте на сцену UI объект типа Image размещаем его по центру экрана указывает спрайт прицела и вешаем на объект скрипт FireSystem, который будет создавать проекторы:

Ничего особенного тут нет. Выбор какой создавать объект в зависимости от слоя цели, плюс поворот префаба рандомно по Z. Стоит отметить параметр maxProjectors, то есть сколько всего проектором можно создать, экономия ресурсов системы. Когда максимальное число достигнуто, то новые объекты будут заменять первые, то есть если их всего 50 то после появления 51-го, уничтожен будет объект под номером 1.

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

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

Кувалда или сверло

Ощущения при получении огнестрельного ранения зависят от типа патрона: они бывают высокоскоростные (сверхзвуковые) и низкоскоростные (дозвуковые).

Участники боевых действий описывают это так: “Попадание сверхзвуковой пули ощущается как сильный удар кувалдой, который может сбить с ног. Место попадания немеет и сначала не болит. Дозвуковая пуля в этом плане гораздо более гнусная - она причиняет горящую сверлящую боль, как будто тело проткнули раскаленным прутом.”

Но это все только в том случае, если речь идет о стандартном боеприпасе FMJ (full metal jacket) или по-русски - пуля с цельнометаллической оболочкой. Особенность конструкции заключается, как несложно догадаться, в твердом металлическом покрытии вокруг мягкой свинцовой пули. Такая пуля не разлетается на куски внутри тела и не кувыркается. В вышеописанной ситуации речь идет о промежуточном автоматном патроне 7.62х39 мм и о дозвуковом пистолетном патроне 9х18 мм.

В настоящее время в военных конфликтах так же используются так называемые малоимпульсные патроны 5.45х39 мм или 5.56х45 НАТО. При попадании в тело, такие патроны начинают кувыркаться и вызывают обширные внутренние повреждения.

“Сперва даже не понял, что произошло, как будто всего кипятком обдали. А потом резко начала кружиться голова, пробил холодный пот - это сложно объяснить, но те, кто чувствовал - поймут, и состояние предобморочное. А когда через пару минут прошел шок, боль началась такая, что даже не рассказать.” - описывает последствия попадания в бедро из АК-74 ветеран боевых действий на Северном Кавказе.

Между тем даже огнестрельные ранения не выводят из строя моментально. Человек, даже будучи смертельно раненым, может продолжать сражаться ещё некоторое время. Американский полицейский инструктор из Огайо и член местной ассоциации владельцев огнестрельного оружия Грег Эллифритц провел исследование о воздействии различных типов пистолетных боеприпасов на человека и результаты оказались крайне удивительны.

Патрон 6,35×15 мм Браунинг. Для выведения из строя в среднем необходимо 2,2 выстрелов. Даже при попадании в торс вероятность вывести человека из строя - 49%. 35% людей, к которым применялся этот калибр, так и не потеряли возможности сопротивляться. И только в 25% люди погибали от ран, вызванных такими патронами.

Патрон 5,6×15,6 мм (В России такой патрон называют “мелкашечным”) Для выведения из строя в среднем необходимо 1.38 выстрелов. Даже при попадании в торс вероятность вывести человека из строя - 60%. 31% людей, к которым применялся этот калибр, так и не потеряли возможности сопротивляться. И только в 34% люди погибали от ран,вызванных такими патронами.

Патрон 9х19 мм “Парабеллум” Для выведения из строя в среднем необходимо 2,45 выстрелов. Даже при попадании в торс вероятность вывести человека из строя - 47%. 13% людей, к которым применялся этот калибр, так и не потеряли возможности сопротивляться. И только в 24% люди погибали от ран,вызванных такими патронами.

Наглядным примером того, насколько человек живуч и может продолжать оказывать сопротивление, может послужить история, произошедшая в США в 1986 году и получившая название “Бойня в Майами”.

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

Все это время, серьезно раненый, Майкл продолжал воевать, передвигался под огнем и перезаряжал оружие. Он убил двух и ранил пятерых сотрудников ФБР. Точку в перестрелке поставили три выстрела ему в голову, когда он уже пересел в полицейскую машину, чтобы скрыться. Газетчики прозвали его “пулестойкий Платт”.

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

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

В таком стрессовом состоянии организм старается не обращать внимание на повреждения, сосредотачиваясь на выполнении задачи. Подобный случай произошел в 1991 году в Вильнюсе. В телецентре засели экстремисты, и разбираться с ними послали “Альфу”. Когда спецназ пересек площадь и зашел внутрь, один из бойцов пожаловался, что у него что-то в спине. Оказалось, что ещё на площади ему в спину прилетела автоматная пуля, но он был сосредоточен на выполнении приказа и даже сразу не заметил ранения, которое оказалось смертельным.

Глеб к записи Дымный порох. Взрывная история и рецепт изготовления Спасибо за рецепт. Постараюсь сделать.

Сергей к записи Оформляем разрешение на оружие (личная практика) Скажите хочу приобрести ружьё моё разрешение ещё действительно два года своё ружьё продал в разрешительной системе теперь разрешитель начал требовать

Ігор к записи Выбираем оружие: СКС – самый дешевый карабин в Украине Служив з карабіном СКС в СА, Враження хороші,кучність у мого карабіна була відмінна,Простий в обслуговуванні.

Евгений к записи Где получить разрешение на оружие в Киеве Подскажите как подтянуть разрешение на травматическое оружие в приложения Дия

Казбек Нагучев к записи Как стать охотником и сколько это стоит Этично ли охотится на слабых и беззащитных животных в 21-м веке? Учитывая, что человечество и так отжимаем и портит естественную

Аноним к записи Как убивает пуля То есть 5,45 из Ак 74 несёт больший урон,чем 7,62 в начальной стадии попадания в тело.

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

Assorted bullets

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

Тело животного и человека на 70-80% состоит из воды, которая, как известно из школьного курса физики, не сжимаема. Поэтому, если в кого-то что-то прилетает, то волна идет по всему телу, создавая мощный удар по всем органам.

Этот гидроудар не заметен невооруженным глазом, но если посмотреть на проникновение пули в замедленной съемке, то можно увидеть, несколько разрушительная энергия возникает, при попадании пули в тело.

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

Если кто-то думает, что тело реагирует на пулю иначе, то вот видео с охоты, с замедленной съемкой:

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

Даже обычные и гладкие пули не осталяеют ровных отверстий. Например, пуля от АК образует пулевой канал в десятки, а то и сотни раз больше самой пули. Вот как выглядят пулевые каналы от популярных у нас патронов калибра 7,62х39 и 5,45Х39:

Всем здравствуйте.
Подскажите как можно сделать след от пули типа трассера? Я пробовал делать анимированной текстурой, но не то получается. В принципе неплохо но не то. Неуправляемый получается след.

У меня есть трассировка до чего-либо твердого (стена, игрок или любая сущность имеющая физбокс-модель столкновений). То-есть у меня есть начальная точка, есть конечная точка. Соответственно можно получить вектор направления.
А вот как сделать сам след (лучше текстурой, так проще) не могу сообразить.

Я могу, как бы это правильно сказать, запустить саму 3D модель пули, от начальной точки к конечной с определенной скоростью, к ней можно припарентить все что угодно. Но этот вариант мне не нравится.
Сам выстрел в игре происходит так - есть начальная точка, есть конечная, в начальной точке создается эффект выстрела - спрайт музле + дым, в конечной точке создается эффект попадания пули (в зависимости куда попала), т.е. это просто имитация полета пули.
Если я буду запускать модель пули, то скорость её полета будет явно меньше скорости имитированного полета пули.
Что можно придумать?
Я понимаю так, нужна просто отрисовка спрайта(текстуры) в рендомном месте вектора направления выстрела.
Может быть есть другие предложения?
В самом Source-движке это всё есть, но я не могу получить к нему доступ. Исходники есть, но в скомпилированной Dll я не знаю как получить ней доступ. Искать оффсеты - головняк. Проще просто написать по новой.


Создание релиза exe файла SFML C++ на VS 2017 (не удается открыть входной файл "sfml-graphics-s.lib")
не могу собрать решение релиз версии, не пойму что я делаю не так постоянно выдает ошибку 1>LINK.

Создание пули без создания её обьекта - Новый способ
Короче начал начал расписывать ее как для обьекта, но функцию с библиотекой создал для вектора и.

Не работает "Texture" "Sprite"
Установил библиотеку SFML/Graphics.hpp. Вроде как должны работать команды "Texture" "Sprite", а они.

Ошибки "отсутствие ;" и "отсутствует спецификатор типа - предполагается int"
я учу дерикс по книге Луна сейчас прохожу часть про цвет и вот пошли первые ошибки вот ссылка на.

Читайте также: