Войти
Unreal EngineФорумОбщее

Оптимизация врагов (сотни) (2 стр)

Страницы: 1 2 3 4 5 Следующая »
#15
19:06, 27 мая 2021

Оставлю свое непрофессиональное, джуновское мнение, просто потому, что могу)

Если это не ртс, и игрок не будет одновременно всех врагов видеть(разумеется, такого утверждения небыло), то может есть смысл думать не в направлении "как оптимизировать 500врагов",а "как создать видимость того, что у игрока 500 врагов"?
Было б проще, если б было описание происходящего в игре)

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

Не в целях рекламы: советую поискать на ютубе foo52ru, и глянуть видео по алгоритмам роевого интеллекта - мне кажется, адаптация подобных алгоритмов в игру, для управления множеством юнитов, подойдет отлично


#16
(Правка: 17 июня 2021, 19:08) 19:22, 27 мая 2021

sun2sun
>
> sun2sun
> Пользователь
> #16
> 10:26, 27 мая 2021
> и что?
> форум что настолько сильно влияет на мозги?!
> Никто кроме тебя про ртс и не зарикался...

Нет проблем "умник"!
Больше я тебя не побеспокою.=))))
Надеюсь ты меня тоже...

#17
19:25, 27 мая 2021

R1pp3R
может это и не моё дело, но мне кажется топикстартеру люто  не симпатичны посты "про стратегии". Я бы посоветовал Вам удалить Ваш пост. Так на всякий случай... Надеюсь не обидел... =)))

#18
19:42, 27 мая 2021

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

#19
(Правка: 21:29) 21:28, 27 мая 2021

ivashko
ой харош как ребенок себя вести а...обидели его :)
Привыкли у себя во флейме общаться как попало потом обижаются...
Я не из вашей братии если мы не знакомы!
Я не стану никогда ни удалять посты ни жаловаться и тем более разводить срач просто так
Если есть что по делу а не лепет "капитана очевидности" про РТС то милости прошу, а нет, так флейм пустует...

R1pp3R

Сэнкс за ссылку посмотрю..но боюсь не совсем то что нужно
Как я писал в посте у нас AI бегают за ГГ (почти как в  days gone ) рендер ничего не жрет уже практически, только логика поиска ГГ сжирает и тупой movementcomponent (но на С++ не готовы ковырять код)
Хочу понять Пределы возможности движка и узкие места оптимизации
На данный момент около 200-250 врагов в пределах 60 FPS но хочется большего

Да я в курсе про симуляции толпы итд (все это уже применяется, и логика и рендер отрубаем когда не в кадре почти полностью)

p.s как раз грешим на move to пока

#20
(Правка: 10:57) 10:35, 28 мая 2021

посмотрел геймплей Days Gone - могу судить по поведению зомби из видео, где их показывали минут 5)

поиграю на выходных, своими глазами посмотрю, что там и как) а пока, мои предположения на основе просмотренного видеоролика (по большей части это догадки, а не факты):
1. игрок сталкивается с тем, что толпа зомби бежит за ним не в случайных местах, в открытом мире, а в конкретно отведенных
2. в этих местах игроку нужно пробежать от точки А до точки Б
3. соответственно, толпа тоже бежит от точки А до точки Б
4. толпа движется быстрее игрока
5. чтоб игрок мог оторваться от толпы - он использует триггеры и оружие (убивает приблизившихся зомби)
6. игрок то смотрит на толпу, то бежит, не глядя на нее. Когда игрок не смотрит - тогда доспауниваются зомби

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

Повторюсь, это впечатления от коротенького видео, и все может быть не так, но выразил свои домыслы

#21
(Правка: 11:35) 11:33, 28 мая 2021

R1pp3R
нее там вроде такого https://www.youtube.com/watch?v=AVZzI7qHy0I&t=2055s
https://forums.unrealengine.com/t/plugins-wip-horde-framework/155678
пока разбираюсь)

#22
11:33, 28 мая 2021

На самом деле для конкретной оптимизации можно сделать свои 2 таска для ВТ, в упрощенной форме.
Сам код передвижения примерно такой:

FAIMoveRequest MoveReq;
    MoveReq.SetGoalActor(GoalActor);
    PathFollowingComp->RequestMove(MoveReq, MakeShareable(new FNavigationPath(PathPoints)));
Где Pathpoints это TArray<FVector> PathPoints, куда ты складываешь точки маршрута от А(твое местоположение) до Б(целевое местоположение) с нужным количеством отклонений в этом промежутке от А до Б.

#23
11:55, 28 мая 2021

i4ugui
sun2sun
> В) как еще можно без особых затрат и перехода на С++ сделать много врагов?

#24
(Правка: 13:09) 13:03, 28 мая 2021

sun2sun
по первой ссылке - там используется обычный MoveTo (для спрыгивания - NavLinkProxy, который просчитывается патфайндом в обычном порядке)
По второй посмотрел видео - зомбям задается, просто, линейное направление движения, возможно, при упирании в стену будет проводиться проверка на возможность залезть на нее(или другой триггер), это то же, что и я описал, только перемещение по статичным точкам более оптимально, чем в направлении динамической(игрока), но, в любом случае, намного оптимальнее, чем MoveTo

П.с. сорян, если я кажусь душным))

#25
(Правка: 14:07) 14:04, 28 мая 2021
+ Показать

я пытался)

При 250 врагах (честные 250) фпс оставляет желать лучшего :D
за 2 минуты собрал им поведение, цель обновляется каждых 3сек, 14фпс (i7 7gen, 16ram)
Линейное направление движения потактово

#26
14:37, 28 мая 2021

R1pp3R
хм неплохо
надо протестить будет, спс

#27
19:20, 28 мая 2021
+ Показать

в общем, мне зачесалось, и я снял видео

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

#28
19:24, 28 мая 2021

R1pp3R
да ты прям Урок записал:)) круто

#29
(Правка: 19:44) 19:42, 28 мая 2021

еще советую для зомби, с которыми игрок не будет взаимодействовать, либо, которые, как-бы, падают с уступов в толпу, можно на ниагаре сделать

+ Показать

т.е. зомби, по-сути, станут партиклами))
таким же образом можно сделать крыс,как в plague tale

Страницы: 1 2 3 4 5 Следующая »
Unreal EngineФорумОбщее