скорострельностью (например, 100 выстрелов в секунду).
Если, например, делать в лоб, то спавнить 100 объектов в секунду - это жестоко, Разве что пул использовать... Но как быть с попаданиями. На каждую из 100 пуль делать коллизии - это же обработка каждый кадр, а если сеть....
В общем, мне непонятен принцип, но реализации-то точно есть, например: https://youtu.be/yAbcHUX2XC4?t=64
Просто сделай луч, который будет наносить 100 поинтов в секунду а как это будет выглядеть уже другое дело
не, луч слишком легко))) да и не решает задачу на видео точно видно, то это не луч. как будто каждый снаряд - отдельная сущность, или несколько снарядов, если это 2 ствола. Возможно, пул всё решает по спавну, но как быть с коллизиями... Вопрос про оптимизаторство))
Тебе нужно что-то ECS подобное, т.е. это пул объектов, каждая пуля != эктор, а условно "менеджер пуль оружия". Он уже в своем тике двигает каждую пулю, которые летят "по кластерам". Для каждого кластера - проверка коллизии, если кластер сколлизился - то уже по пулям в нем.
Да, вот уже про ecs думал. Про кластеры - отличная идея! Надо ее докурить... Условно сколько пуль будет выпущено за какой-то отрезок времени - всё это и есть кластер с коллизией, далее уже по пуле смотреть. Так выходит?
Можно начать с такого, да. Чтобы сделать хорошо - тут придется думать, в начале задача - получить что-то разумное и работающее, исходя из: никакой индивидуальности пуль по-умолчанию. Рисовать их вообще ниагарой как один партикл систем лучше всего.
Да, звучит как реальное решение! Спасибо! ECS такая подойдет? Я её не гонял, не знаю... https://docs.unrealengine.com/5.0/en-US/overview-of-mass-entity-in-unreal-engine/
имхо делать сразу на ECS слишком муторно. просто сделай через "менеджер", который в себе все гоняет.
Понял! Мерси еще раз!
Обсуждают сегодня