Как сделать чтобы пуля вылетала из дула game maker

Добавил пользователь Владимир З.
Обновлено: 10.09.2024

После фристайла все начнут ХЕЙТИТЬ. Но фристайл было просто бомба

Смотри сливы школниц на этом сайте и кайфуй?? .фуфц

@Настя как найдёшь пни пожалуйста ?

ДААААА. Ищу инсту этого паренька фристайлера ?????

*как вам моя песня о любви "бам бам"* .

УРААА!! наконец то!! выпуск!! Карина как всегда прекрасна???

*как вам моя песня о любви "бам бам"* .

Пр?о?ч?и?т?а?л?: п?р?о?к?л?я?л? с?е?б?я? и? м?а?м?у. Л?а?й?к?н?у?л?: о?с?в?о?б?о?д?и?л? с?е?б?я П?о?° °дпи° °с?а?л?° °с?я? н?а? м?е?н?я?: о?с?в?о?б?о?д?и?л? м?а?м?у

Внимание! Не совместим с Модуль плагина - [VIP] Extended Ammo Плагин изменяет количество патрон в обоиме и запасе Выдача запаса работает только на CS:GO Файл конфигураций прост в настройке и имеет примерно такой вид: "weapons"

DIANETICA

Участник

Не поддерживается - Ammo Manager

Внимание! Не совместим с Модуль плагина - [VIP] Extended Ammo Плагин изменяет количество патрон в обоиме и запасе Выдача запаса работает только на CS:GO Файл конфигураций прост в настройке и имеет примерно такой вид: "weapons"

zokix

Насколько знаю в Ammo Manager это работает с багами бывает можно выстрелить по 2-3 патрона и так же есть баг с перезарядкой по этому лучше использовать
Mod Weapons
Работает идеально если выставить следующие настройки в конфиге

chajeh

Участник

Насколько знаю в Ammo Manager это работает с багами бывает можно выстрелить по 2-3 патрона и так же есть баг с перезарядкой по этому лучше использовать
Mod Weapons
Работает идеально если выставить следующие настройки в конфиге

Nekro

Терра инкогнита

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

chajeh

Участник

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

Поставил ограничение оружия 1.2.0 и на него Mod Weapons, чтобы ограничить пули в дигле на авп сервере, но пуль так и осталось 7 после его настройки. Все плагины на сервере работают и хорошо настроены.

Nekro

Терра инкогнита

chajeh

Участник

Тогда всё и должно работать как надо, разве нет?


Скиньте ссылку
А разве Mod Weapon не решает эту проблему и нужно устанавливать два плагина?

Nekro

Терра инкогнита

chajeh

Участник

У меня онли авп сервак с диглами для випов, но если у випа дигл, то в нём 7 патронов в обойме, мне нужно чтобы был только один. Ограничение оружия работает только для обычных игроков, так что на этот плагин можно не обращать внимание, моя проблема в том, что в дигле по прежнему 7 патронов после настройки плагина.

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

Для начала рассмотрим все в теории, а потом уже возьмемся за реализацию и тестирование.

Теория

Физическое тело в виде снаряда

Итак, у нас есть задача бросить камень, надеюсь не в меня) Для этого делается следующее:

  • В момент нажатия на ЛКМ создается объект
  • Мы получает этот объект и толкаем его в нужном направлении
  • Далее движок считает все за нас, мы только смотрим
  • Возможно создаем эффекты приземления

Все просто. Часто именно такой подход и необходим. Так можно симулировать, достаточно медленные снаряды, которые не часто вылетают из оружия. К примеру, снежки, камни, ядра пушек, картофель из пататогана). Проблемы начинаются когда необходимо создать что-то дальнобойные или скорострельное.

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

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

Как же быть? Для таких целей обычно используют рейкаст

Рейкаст для реализации выстрела

В простейшем случае работает это таким образом:

  • Мы выпускаем луч в нужном направлении
  • Определяем куда он попадет
  • рисуем эффект попадания или делаем что то еще

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

Пример как пуля пролетает препятствие

Пример как пуля пролетает препятствие

Как решить данную проблему?

Можно после получения конечной точки пустить еще один луч и проверить соприкосновения еще раз, это не совсем правильно но не так затратно по ресурсам.

Можно запустить симуляцию всего полета "на паузе". Расчет требует времени и соответственно ресурсов, однако точно просчитает полет пули. Это почти так же как и в варианте с физическим объектом, но расчет ведется отдельно от текущего времени и выдается только результат.

Так же выполняется создание обьекта и его пинок в нужном направлении но с игнорированием реального времени.

Либо по школьной физике просчитываем полет тела сами, но зачем? Все равно каждую точку проверять нужно на столкновения.

Практика

Физический снаряд

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

Тестовый стенд

Тестовый стенд

Стрелять будем в точку, без поворота камеры.

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

Первый выстрел Последствия

Путь луча

Принцип описан выше, сцена та же самая, код чуть ниже. Для Визуализации я буду создавать "пулю" в точке соприкосновения луча и объекта. В реальном проекте, там нужно оставлять следы от пуль, искры, осколки, все что захотите.

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

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

Итоги

В данной статье я привел лишь примеры того как можно сделать выстрелы в unity. Надеюсь она вам поможет определиться как действовать дальше и у вас получиться хорошая стрелялка =)


У меня проблема, если взять стандартный first person charcter, то при выстреле у него пуля должна лететь относительно центра камеры, но получается совсем другое: пуля летит чуть правее и при близком расстоянии от цели это хорошо видно. Как сделать чтобы при стрельбе независимо от расстоянии (подходишь к стенке в плотную и стреляешь и пуля летит точно относительно центра камеры и ни как иначе) стрельбы направление было правильно.

Пользователь

или камеру опустить до точки выстрела, или наоборот поднять точку выстрел до камеры? не думаю что есть другое решение)
_________________
we need to go deeper

Пользователь

или камеру опустить до точки выстрела, или наоборот поднять точку выстрел до камеры? не думаю что есть другое решение)

Пользователь

Делай MazzleFlash (эффект выстрела) из ствола, а трейсинг пули из центра камеры. Будет 100 пудовое попадание в нужную точку с любого расстояния )
Вообще это не проблема для FPS, для TPS становится проблемой, потому как расстояние между камерой и персом много больше.
И Еще если сделать трассирующие или бимы, то будет видно что пуля вылетает не из ствола, учти эту специфику )

Пользователь

если пуля будет лететь не из ствола, то это баг по умолчанию, с помощью find look rotation можно добиться 100% точности, при этом пуля вылетать будет именно из ствола, для тпс шутера.

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

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