Size: a a a

2020 August 27

IK

Ivan Kurulyuk in Unreal Engine
Ситуация такая, что по задумке, игрок может достаточно плохо справляться с уничтожением противника и их станет много на сцене. И все они будут стрелять.
Да, у меня не жирные текстуры, и в принципе проджектайлов не сильно много единомоментно, но хотелось бы возможность это заранее предусмотреть и не давать спавнерам много свободы
источник

VA

Vladimir Alyamkin in Unreal Engine
Ivan Kurulyuk
Ситуация такая, что по задумке, игрок может достаточно плохо справляться с уничтожением противника и их станет много на сцене. И все они будут стрелять.
Да, у меня не жирные текстуры, и в принципе проджектайлов не сильно много единомоментно, но хотелось бы возможность это заранее предусмотреть и не давать спавнерам много свободы
Спавн противника - точно делай через прокси и каунтеры.
источник

HM

Hackerman Me in Unreal Engine
Aleksei DTG
не надо выдёргивать из контекста, когда в игре надо 2 раза посчитать всех акторов, то очевидно удобнее использовать GetAllActors, а не писать прокси/фабрики каждого объекта, очевидные вещи объясняю
Определённо. Но мы не знаем контекста задачи топик стартера.
источник

HM

Hackerman Me in Unreal Engine
Vladimir Alyamkin
Спавн противника - точно делай через прокси и каунтеры.
А ещё в некоторых случаях можно делать переиспользование из буфера заранее созданных акторов :)
источник

AD

Aleksei DTG in Unreal Engine
Hackerman Me
Определённо. Но мы не знаем контекста задачи топик стартера.
Ну вот человек уже говорит. что ему надо считать пули, и как уже правильно замечают, здесь счётчик действительно правильнее
источник

HM

Hackerman Me in Unreal Engine
А, ну так пули так конечно. Они, я полагаю, сами выпиливаются и сервисный класс для управления ими не нужен.
источник

HM

Hackerman Me in Unreal Engine
Хотя вот опять же, на мобилку делали игру и там у нас под снаряды были заранее заспавнены в пул и реюзались.
источник

R

Ruslan in Unreal Engine
Ivan Kurulyuk
Ребят, кроме как создать переменную-счетчик и шевелить её при создании/уничтожении актора самостоятельно, есть какие-то вшитые в движок способы отслеживать количество созданных акторов определенного класс на сцене
Мне кажется, что для начала нужно разобраться, как часто нужно проверять количество созданных акторов. Если каждый раз при добавлении нового актора, но нужно банально проверять количество этих акторов после добавления.

И ещё, к этим акторам же нужно обращаться в игре? Если так, то лучше их хранить в массиве
источник

R

Ruslan in Unreal Engine
И обращаться через массив
источник

IK

Ivan Kurulyuk in Unreal Engine
Hackerman Me
А, ну так пули так конечно. Они, я полагаю, сами выпиливаются и сервисный класс для управления ими не нужен.
Я думаю пока, как их выпиливать не вешаю логику на тики.
источник

HM

Hackerman Me in Unreal Engine
Ivan Kurulyuk
Я думаю пока, как их выпиливать не вешаю логику на тики.
Ну или вот я выше написал обратный вариант.
источник

IK

Ivan Kurulyuk in Unreal Engine
Так, я понял, мне нужно спавнить не абы как на сцену, а в пул, и тогда будут и инструменты подсчета и оптимизации
источник

HM

Hackerman Me in Unreal Engine
Когда у тебя максимально возможное количество пуль и мобов создано статически сразу, где-то за пределами карты с отключённым ИИ, и ты их просто сбрасываешь и перемещаешь.
источник

N

NoCodeBugsFree in Unreal Engine
Hackerman Me
Пересобери все с удалением intermediate и бинарников.
пересобрал. теперь всё ок. только это машина аниматора. на которой не было студии. в репозитории бинарники есть. и проблема вылезла только на одной машине. почему такое происходит?
источник

HM

Hackerman Me in Unreal Engine
Мы так делали для игры стенка на стенку, типа direct strike SC2.
источник

N

NoCodeBugsFree in Unreal Engine
Hackerman Me
Скорее всего обновил версию движка, например с 25.0 до 25.3
точно нет. движок везде один
источник

R

Ruslan in Unreal Engine
Ivan Kurulyuk
Так, я понял, мне нужно спавнить не абы как на сцену, а в пул, и тогда будут и инструменты подсчета и оптимизации
Можешь подробно объяснить суть задачи? Я только процентов 20 понял
источник

IK

Ivan Kurulyuk in Unreal Engine
Hackerman Me
Когда у тебя максимально возможное количество пуль и мобов создано статически сразу, где-то за пределами карты с отключённым ИИ, и ты их просто сбрасываешь и перемещаешь.
Я не очень разбираюсь, но разве такой вариант не будет жрать много памяти при первом запуске?
источник

HM

Hackerman Me in Unreal Engine
NoCodeBugsFree
пересобрал. теперь всё ок. только это машина аниматора. на которой не было студии. в репозитории бинарники есть. и проблема вылезла только на одной машине. почему такое происходит?
Ну надо причину понять. Первое, может версия движка не совпадать и он не может загрузить библиотеку. Ещё может как я сказал, кто-то зависимости сломал в дескрипторе.
источник

AD

Aleksei DTG in Unreal Engine
Ivan Kurulyuk
Так, я понял, мне нужно спавнить не абы как на сцену, а в пул, и тогда будут и инструменты подсчета и оптимизации
скорее всего вам нормально пул пока не очень просто будет сделать, лучше просто озаботьтесь нормальным временем жизни для снаряда, это моё имхо
источник