Страница 1 из 1

Респавн противников

СообщениеДобавлено: 17 май 2022, 13:01
alexey.terno
Всем привет
Подскажите, как лучше реализовать респавн противников на локации. Мне нужен не код, а алгоритм. У меня на локации размещены бокс коллайдеры (зоны респавна), внутри которых появляются противники. Эти коллайдеры отдельные, чтобы для них можно было задавать различные параметры спавна (количество, уровни и т.д.). Технически само появление у меня реализовано, но возник вопрос - а как сделать так, чтобы противники не появлялись прямо на глазах у персонажа? У меня респавн противников будет происходить регулярно, например, в полночь по внутриигровому времени, и есть вероятность того, что ровно в полночь они просто возьмут и появятся непосредственно перед персонажем, что будет очень странно ) Как корректно сделать так, чтобы респавн происходил только в тех зонах, на которые не смотрит персонаж и с которыми он не находится в непосредственной близости?

Re: Респавн противников

СообщениеДобавлено: 17 май 2022, 15:22
1max1

Re: Респавн противников

СообщениеДобавлено: 17 май 2022, 22:09
Saltant
Оратор выше верно расписал. Но я еще добавлю:
В скрипте проверки обязательно добавь паузу на врагов когда они ВНЕ зоны видимости, чтоб у них не работала анимация, если они обязаны перемещаться - пусть тупо летают без анимации, фреймрейт движения можешь тоже понизить для них, это очень и очень сильно прибавит в оптимизации.

Re: Респавн противников

СообщениеДобавлено: 25 май 2022, 18:07
alexey.terno
Функции для определения дистанции и угла я знаю и использую в других местах.
Пока остановился на таймере, который сбрасывается каждый раз, как персонаж "смотрит" в эту зону респавна или находится достаточно близко с ней. Респавн будет происходить только, после того, как таймер полностью пройдет отсчитанное время.
На счет отключения анимации - спасибо!