Полезное

Мы Вконтакте

Discord канал

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

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

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

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

выглядит это все вот так - видео не мое но с 0 до 4-5 секунды вы увидете то что я имею в виду)https://www.youtube.com/watch?v=nZxy9pLStpM&t
Аватара пользователя
Пользователь
Сообщения: 4069
Вот у меня такие настройки, ничего не дергается.
Изображение

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

p.s. дергание возможно изза отсутствия блэйндспэйса и всяких настроек контролера.
Аватара пользователя
Пользователь
Сообщения: 138
Prytaleks у вас через RVO) мне бы без него обойтись
Аватара пользователя
Пользователь
Сообщения: 4069
jeka3d писал(а):
Prytaleks у вас через RVO) мне бы без него обойтись


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

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


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

у монстров по идее должен стоять фокус на персонаже... то-есть как только он попадает в фокус они всегда смотрят на него, и при хотьбе в анимации используется блендсспейс, и при огибании препятствия они обходят его боком.
_________________
we need to go deeper
Аватара пользователя
Пользователь
Сообщения: 589
У меня тоже такие же проблемы с AI. Я правда сделал что бы враги всегда смотрели на персонажа и обходили препятствия боком.
Но как выяснилось по умолчанию Pawn как препятствие не определяется.
Я почитал в интернете информацию.
Оказалось чтобы Pawn тоже определялся как препятствие нужно включить Can Affect Navigation Generation - true.
И в Project Settings -> Navigation Mesh -> Runtime, Runtime Generation переключить на Dynamic.

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

Не знаю, может я что то не так делаю...
Аватара пользователя
Пользователь
Сообщения: 2319
Agny, гуглим - rvo avoidance, или Detour crowds
_________________
we need to go deeper
Аватара пользователя
Пользователь
Сообщения: 589
Snake писал(а):
Agny, гуглим - rvo avoidance, или Detour crowds


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

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


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

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


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

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


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

а как лечится? а то я еще не разбирался с выталкиванием...
_________________
we need to go deeper


Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7

UEngine.ru © 2017
Все права защищены. При копировании материалов с сайта, ссылка на первоисточник обязательна.
Яндекс.Метрика
Главная страница