Ребят, мб кто подскажет, как оптимально сделать "гатлинг" с огромной

скорострельностью (например, 100 выстрелов в секунду).
Если, например, делать в лоб, то спавнить 100 объектов в секунду - это жестоко, Разве что пул использовать... Но как быть с попаданиями. На каждую из 100 пуль делать коллизии - это же обработка каждый кадр, а если сеть....
В общем, мне непонятен принцип, но реализации-то точно есть, например: https://youtu.be/yAbcHUX2XC4?t=64

8 ответов

15 просмотров

Просто сделай луч, который будет наносить 100 поинтов в секунду а как это будет выглядеть уже другое дело

Игорь-Цвентарный Автор вопроса
Kreol Feller
Просто сделай луч, который будет наносить 100 поин...

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

Тебе нужно что-то ECS подобное, т.е. это пул объектов, каждая пуля != эктор, а условно "менеджер пуль оружия". Он уже в своем тике двигает каждую пулю, которые летят "по кластерам". Для каждого кластера - проверка коллизии, если кластер сколлизился - то уже по пулям в нем.

Игорь-Цвентарный Автор вопроса
Vladimir Alyamkin
Тебе нужно что-то ECS подобное, т.е. это пул объек...

Да, вот уже про ecs думал. Про кластеры - отличная идея! Надо ее докурить... Условно сколько пуль будет выпущено за какой-то отрезок времени - всё это и есть кластер с коллизией, далее уже по пуле смотреть. Так выходит?

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

Игорь-Цвентарный Автор вопроса
Vladimir Alyamkin
Можно начать с такого, да. Чтобы сделать хорошо - ...

Да, звучит как реальное решение! Спасибо! ECS такая подойдет? Я её не гонял, не знаю... https://docs.unrealengine.com/5.0/en-US/overview-of-mass-entity-in-unreal-engine/

Игорь Цвентарный
Да, звучит как реальное решение! Спасибо! ECS так...

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

Похожие вопросы

Обсуждают сегодня

Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
5
А в каком формате фреймы? Сам формат сейчас придумываешь, или что-то готовое нужно распарсить?
Okhsunrog
5
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Раз начали говорить про embassy, то присоединюсь со своими парой вопросов. 1) Есть ли сопоставимые аналоги для асинхронного кода в emdebbed? 2) Можно ли внутри задач embassy ...
NI_isx
6
сделал сайт, прикрутил в боте сайт, и виджет логина. как автоматически логинить пользователя в аккаунт(телеграм), при входе с бота?
Александра Чернивецкая
5
Карта сайта