Unreal Engine 4
http://uengine.ru/forum/

Ai проблемы с поворотом
http://uengine.ru/forum/viewtopic.php?f=3&t=5241
Страница 1 из 2

Автор:  jeka3d [ 26 май 2017, 01:36 ]
Заголовок сообщения:  Ai проблемы с поворотом

Привет)
Суть в следующем: для монстров использую детур кроуд контроллер (обычный с включенным RVO не подходит)
само движение вполне устраивает, но когда они пытаются не столкнуться друг с другом и начинают по несколько раз в секунду менять свою траекторию (а в плотной группе это происходит постоянно) то персонаж естественно крутится в сторону движения, или в сторону желаемого движения контроллера) выглядит это очень убого особенно если на экране много персонажей все идут в сторону персонажа, но при этом заметно "дрожат", у меня топ-даун мяско и на экране может быть 50+ монстров.

манипуляции с rotation rate желаемого эффекта не дают, на низких значениях, к примеру 90, дрожания меньше, но когда персонаж игрока проходит близко то монстры просто не успевают развернуться и как итог направление движения поменялось на 180 градусов а смотрит он в бок и в итоге выдает лунную походку)

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

так же немного помогает если поставить в контроллере тик рейт 0.2 - 0.3 - дрожания практически нет, но тогда вообще все повороты становятся дерганми в этом интервале) как старый робот (

выглядит это все вот так - видео не мое но с 0 до 4-5 секунды вы увидете то что я имею в виду)https://www.youtube.com/watch?v=nZxy9pLStpM&t

Автор:  Prytaleks [ 26 май 2017, 11:49 ]
Заголовок сообщения: 

Вот у меня такие настройки, ничего не дергается.
Изображение

вот так они двигаются - https://www.youtube.com/watch?v=XkkHmB67Fsw

p.s. дергание возможно изза отсутствия блэйндспэйса и всяких настроек контролера.

Автор:  jeka3d [ 26 май 2017, 15:26 ]
Заголовок сообщения: 

Prytaleks у вас через RVO) мне бы без него обойтись

Автор:  Prytaleks [ 26 май 2017, 16:32 ]
Заголовок сообщения:  Re:

jeka3d писал(а):
Prytaleks у вас через RVO) мне бы без него обойтись


ко мне можно на "ты", потому что я тоже ко всем на "ты", если только на работу не устраиваюсь))

p.s. видео от старого доброго Hoyt Ridge, уверен он использовал RVO, без Rvo готовся писать кучу логики, разрабатывать алгоритмы, которые наверняка будут более багованые и высокотребовательные чем готовое решение. У него же дерги происходят изза отсутствия блэндспэйса + настройки контроллера.

Автор:  Snake [ 27 май 2017, 07:37 ]
Заголовок сообщения: 

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


Цитата:
но когда персонаж игрока проходит близко то монстры просто не успевают развернуться

у монстров по идее должен стоять фокус на персонаже... то-есть как только он попадает в фокус они всегда смотрят на него, и при хотьбе в анимации используется блендсспейс, и при огибании препятствия они обходят его боком.

Автор:  Agny [ 03 июн 2017, 10:00 ]
Заголовок сообщения: 

У меня тоже такие же проблемы с AI. Я правда сделал что бы враги всегда смотрели на персонажа и обходили препятствия боком.
Но как выяснилось по умолчанию Pawn как препятствие не определяется.
Я почитал в интернете информацию.
Оказалось чтобы Pawn тоже определялся как препятствие нужно включить Can Affect Navigation Generation - true.
И в Project Settings -> Navigation Mesh -> Runtime, Runtime Generation переключить на Dynamic.

Но тут появилось то самое дрожание. Статические объекты AI прекрасно обходит, а вот других персонажей как будто не знает с какой стороны обойти. Дергается то влево , то вправо...

Не знаю, может я что то не так делаю...

Автор:  Snake [ 03 июн 2017, 11:04 ]
Заголовок сообщения: 

Agny, гуглим - rvo avoidance, или Detour crowds

Автор:  Agny [ 03 июн 2017, 13:02 ]
Заголовок сообщения:  Re:

Snake писал(а):
Agny, гуглим - rvo avoidance, или Detour crowds


Это скорее подходит если все персонажи управляются AI. Если я всё правильно понял. Что бы они могли рассчитывать свою траекторию движения учитывая траекторию движения других персонажей управляемых тем же AI.

Но у меня есть персонажи которые не управляются AI. И для AI проблема их обходить. Я об этом говорю.

Автор:  jeka3d [ 07 июн 2017, 23:11 ]
Заголовок сообщения:  Re:

Snake писал(а):
можно попробовать:
отвязать "ориент ротатион ту мувмент" и расчитывать направление взгляда самостоятельно
или задать фокус,
при этом боту нужен блендспейс "локомоушен",
также можно сделать динамически меняющийся ротатин рейт, нужно только разобраться при каких условиях его менять.


Цитата:
но когда персонаж игрока проходит близко то монстры просто не успевают развернуться

у монстров по идее должен стоять фокус на персонаже... то-есть как только он попадает в фокус они всегда смотрят на него, и при хотьбе в анимации используется блендсспейс, и при огибании препятствия они обходят его боком.


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

динамический ротейшн рейт в принципе работает, но получить удовлетворительный вариант я так и не смог)


в общем курение офф форума +инфа о том что сами эпики пользуются RVO вместо Crowd в "Парагоне" (хотя там и нет больших групп AI) который вроде как должен давать лучшие результат подтолкнуло меня к переходу к RVO и в принципе все хорошо, никто не дергается, обходят друг друга почти также, теряют меньше скорости при движении группой, есть правда выталкивания друг друга за пределы навмеша, но оказалось это легко лечится) так что все спасибо за советы) как бывает довольно часто - само простое решение самое верное)

Автор:  Snake [ 07 июн 2017, 23:29 ]
Заголовок сообщения: 

Цитата:
но оказалось это легко лечится

а как лечится? а то я еще не разбирался с выталкиванием...

Страница 1 из 2 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/