Среда, 27 Ноября 2024, 10:08

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
NavMesh на большом количестве юнитов
berilДата: Пятница, 29 Июля 2016, 10:43 | Сообщение # 1
Я не ленивый, я — энергосберегающий
Сейчас нет на сайте
Нужны идеи по оптимизации NavMesh. 10 врагов с поиском пути просаживают fps на 20, и так по нарастающей....
Как можно оптимизировать поиск пути, что одновременно можно было использовать до 50(не больше не меньше) юнитов с NavMeshAgent. Есть идеи ? help




Накодил? Убери за собой!
Инвентарь в Unity(UI)
Инвентарь в Unity(GUI)
ShortKedrДата: Пятница, 29 Июля 2016, 10:49 | Сообщение # 2
Renword Studio
Сейчас нет на сайте
beril, у меня всё работает без просадок :)
Рассказывай свою методику =)


Сообщение отредактировал ShortKedr - Пятница, 29 Июля 2016, 10:49
berilДата: Пятница, 29 Июля 2016, 11:06 | Сообщение # 3
Я не ленивый, я — энергосберегающий
Сейчас нет на сайте
Цитата ShortKedr ()
beril, у меня всё работает без просадок :)
Рассказывай свою методику =)

Создается моб и движется через SetDistance к игроку )
Пробывал через короутины и CalculatePath но лишь немного прибавило fps все равно когда много обьектов движется fps проседает .....




Накодил? Убери за собой!
Инвентарь в Unity(UI)
Инвентарь в Unity(GUI)
LertmindДата: Пятница, 29 Июля 2016, 11:20 | Сообщение # 4
заслуженный участник
Сейчас нет на сайте
beril, может SetDestination или CalculatePath слишком часто вызываются?
berilДата: Пятница, 29 Июля 2016, 11:27 | Сообщение # 5
Я не ленивый, я — энергосберегающий
Сейчас нет на сайте
Цитата Lertmind ()
beril, может SetDestination или CalculatePath слишком часто вызываются?

Об этом я тоже позаботился в короутине их вызвваю с большим интервалом :(




Накодил? Убери за собой!
Инвентарь в Unity(UI)
Инвентарь в Unity(GUI)
LertmindДата: Пятница, 29 Июля 2016, 11:27 | Сообщение # 6
заслуженный участник
Сейчас нет на сайте
И точно проблема в NavMesh? В профайлере смотрел?
berilДата: Пятница, 29 Июля 2016, 11:27 | Сообщение # 7
Я не ленивый, я — энергосберегающий
Сейчас нет на сайте
Цитата Lertmind ()
И точно проблема в NavMesh? В профайлере смотрел?

Да в NavMeshAgent, пустая сцена




Накодил? Убери за собой!
Инвентарь в Unity(UI)
Инвентарь в Unity(GUI)
LertmindДата: Пятница, 29 Июля 2016, 11:29 | Сообщение # 8
заслуженный участник
Сейчас нет на сайте
Цитата beril ()
Об этом я тоже позаботился в короутине их вызвваю с большим интервалом
Смещение вызова разное? А-то получится, что каждый интервал вызывается для всех сразу.
EchoITДата: Пятница, 29 Июля 2016, 11:30 | Сообщение # 9
старожил
Сейчас нет на сайте
beril, не замечал такой проблемы, просадка фпс может и есть, но не больше пары кадров. И это при том, что я лютый быдлокодер. :D Возможно, есть какой-то мелкий косяк, на который ты не обратил внимания, вероятнее всего в настройках NavMeshAgent или самого NavMesh (раз просадки именно от NavMeshAgent в профайлере).

Долгожданный анонсик: State of War

Сообщение отредактировал EchoIT - Пятница, 29 Июля 2016, 11:31
berilДата: Пятница, 29 Июля 2016, 11:33 | Сообщение # 10
Я не ленивый, я — энергосберегающий
Сейчас нет на сайте
Цитата EchoIT ()
beril, не замечал такой проблемы, просадка фпс может и есть, но не больше пары кадров. И это при том, что я лютый быдлокодер. :D Возможно, есть какой-то мелкий косяк, на который ты не обратил внимания, вероятнее всего в настройках NavMeshAgent или самого NavMesh (раз просадки именно от NavMeshAgent в профайлере).

А сколько обьектов одновременно ты использовал с NavMesh ?




Накодил? Убери за собой!
Инвентарь в Unity(UI)
Инвентарь в Unity(GUI)
EchoITДата: Пятница, 29 Июля 2016, 11:34 | Сообщение # 11
старожил
Сейчас нет на сайте
beril, до 30 на террейне 500х500 с кучей объектов. Но ты говоришь, что у тебя даже десять объектов фпс просаживают на пустой сцене. Что-то тут нечисто. :D

Долгожданный анонсик: State of War

Сообщение отредактировал EchoIT - Пятница, 29 Июля 2016, 11:38
berilДата: Пятница, 29 Июля 2016, 11:41 | Сообщение # 12
Я не ленивый, я — энергосберегающий
Сейчас нет на сайте
ох я и ленивая задница, надо было сразу в профайлер глянуть)
Низачто не поверите, что дропало 80fps :D
это был


щас 70 обьектов держит на уровне 110fps )




Накодил? Убери за собой!
Инвентарь в Unity(UI)
Инвентарь в Unity(GUI)
LertmindДата: Пятница, 29 Июля 2016, 11:42 | Сообщение # 13
заслуженный участник
Сейчас нет на сайте
beril, если скинешь минимальный проект, причину быстрее найдут, инача снова будет тема состоять из вопросов предположений.
ShortKedrДата: Пятница, 29 Июля 2016, 11:42 | Сообщение # 14
Renword Studio
Сейчас нет на сайте
Lertmind дело говорит, либо частые перерасчёты пути, либо ты там ещё что-то сверху настроил нехорошего, что много жрёт =)
NavMesh по природе своей очень скромный. Вот тебе 120 юнитов одновременно + неоптимизированная плохая система команд, которая покруче NavMesh убивает "компутер": https://yadi.sk/d/T-mQjxO7tjLdq

И как видно, с такой псевдо "жестью" всё работает =)

Скрины развёрнутого профайлера и объектов с navmesh в студию =)


Сообщение отредактировал ShortKedr - Пятница, 29 Июля 2016, 11:43
LertmindДата: Пятница, 29 Июля 2016, 11:43 | Сообщение # 15
заслуженный участник
Сейчас нет на сайте
Цитата beril ()
Debug.Log
Ох, есть такое.
berilДата: Пятница, 29 Июля 2016, 11:46 | Сообщение # 16
Я не ленивый, я — энергосберегающий
Сейчас нет на сайте
Всем спасибо, темуу закрываю.





Накодил? Убери за собой!
Инвентарь в Unity(UI)
Инвентарь в Unity(GUI)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг