Если делать движение ботов через Move to location и все другие аналогичные ноды кроме Add Movement input, то бот идет по маршруту до промежуточной точки и там резко поворачивает. Для двуногих это не проблема - развернуться на месте, но что делать, если бот крокодил или бегемот? У крокодила длинный хвост и его резкий разворот выглядит не реалистично. Для привязки анимации поворота, ему надо давать данные о повороте на всём протяжении поворота. Но если поворот длится одно мгновение, то и анимация проиграться не успеет.
Вопрос 1: Как замедлить эти повороты?
Не найдя ответа самостоятельно, я стал использовать нод Add Movement input, и сам прокладываю путь. Но при этом есть трудности с обходом препятствий. Приходится делать много трассировок по всей окружности, но когда бот цепляется за препятствие, то задерживается там прилипая.
Вопрос 2: Как отключить остановки от зацепов?
Чтобы не прокладывать путь самостоятельно, есть нод Find Path to Location Synchronously.
Вопрос 3: как достать из него координаты промежуточных пунктов маршрута, чтобы использовать для движения бота через нод Add Movement input?
Возможно я ищу сложный путь вместо простого решения. Ведь я делаю только первые шаги в UE.
Вопрос 4: Если есть простой путь решения этой проблемы, то может кто-нибудь знает более простой путь её решения. Подскажите плиз или ссылочку дайте на решение для плавных поворотов таких объектов. Может использовать шаблон автомобиля? Может там крокодил не будет прыгать на углах?
ivashko
> Сделать повороты плавными
вау, у меня такая же задача была не решенной, и чего я только не находил в гугле на эту тему.
У меня сейчас вроде быстро боты поворачивают, вроде через эту ноду https://www.youtube.com/watch?v=893RCg0og5s
P.S. ты бы ник сменил, а то есть здесь один ивашка, тебя с ним путать будут
на попытку смены ника сайт пишет: " Сменить ник могут только пользователи с уровнем Участник". Выходит я не участник, так что придётся быть чьим-то двойником.
Да, предложенный по линку метод не даёт желаемого результата, но кажется я нашёл кривенькое решение. Тема больше на актуальна.
ivashko
> но кажется я нашёл кривенькое решение.
И какое ? не поделишься ?
нельзя при поиске пути указать радиус поворота, чтобы не было резких шпилей?
leonardo98
нельзя
Вот с этого места поподробнее можно? Где и как указать этот радиус?
разбиваю путь на части в нав мэше и щупаю дорогу трейсингом. Пока не доделал полостью, но то что успел сделать, вроде бы уже не глючит. Много блупринтов. Вряд ли это оптимальное решение. Вся надежда на leonardo98. Он тут пишет, что нашёл где- то какой-то радиус. Если ответит, можно будет сносить все эти блупринты.
endeavour_pr
Ты не знаешь, где настройки цвета для PhysicsVolume? А то я покрасил всё под водой постпроцессом, а тень от плывущего крокодила на дне заметнее чем сам крокодил в воде. На неё постпроцесс не действует. А делать постпроцесс для крокодила это вообще извращение ИМХО если есть штатные методы движка.
ivashko
Плавный поворот можно сделать если двигать непись вручную, я что то похожее пробовал но у меня забаговалось и я плюнул, а потом нашел готовую ноду для вычислений.
В целом там у меня довольно много логики для начала ... Но дерево АИ стандартное по тутору, там кажется АИ сначала крутится на игрока чтобы выстрелить в него, если потерял цель то бежит через move to
С крокодилом будет сложнее потому что у него тушка больше ...
Но я думаю там можно построить логику, какую именно еще может зависеть от анимаций которые у крокодила есть.
Ну например он крутится медленно топчась на месте в сторону где последний раз видел игрока, либо делает рывок если есть анимации, это все нужно детально разобрать.
Математику поворота на месте в сторону игрока я думаю можно найти в инете.
endeavour_pr
это не решение это убегание от него в сторону
вот за углом крокодил тебя учуял и побежал тебя кусать и что мы видим? мы видим как забежав за поворот крокодил сделает молниеносный поворот в твою сторону...это лажа есть более красивые решения:
1. трейсить препятсвие впереди и делать свой мувмент и поиск пути с учётом радиуса циркуляции(минимальный радиус разворота обьекта)(https://www.youtube.com/watch?v=L591fS51F4I там внизу есть ссылка)
2. корректировать траекторию движения сглаживая углы
ни того ни того уроков для анриала нет и наврят появятся
ivashko
> Вот с этого места поподробнее можно? Где и как указать этот радиус?
извини, я пишу не на unreal, просто это выглядит логично, может это называется не радиус, но какой-то подобный параметр для поиска пути