Подскажите как лучше сделать передвижение как в Доте, Варкрафте 3

и т.д.
Клик мышкой, и персонаж туда идёт.

Рейкаст с камеры до пересечения с землёй сделал. Получил точку - цель.
Как правильнее, оптимизированнее сделать?

Чарактер контроллер и Move или SimpleMove, или ещё как-то по другому?
Заранее спасибо.

12 ответов

46 просмотров

Чтобы "как в доте" нужен поиск пути. Самое простое - использовать navmesh, из опций - найти плагин для поиска пути или реализовать самому алгоритм (гуглить в сторону А* (A star))

Константин-Тощаков Автор вопроса
влад 🎃
Чтобы "как в доте" нужен поиск пути. Самое простое...

Предположим, что знаю я А*, и могу нагуглить его реализацию. Лучше в апдейте CharacterController брать функцию Move или что-то другое?

Константин Тощаков
Предположим, что знаю я А*, и могу нагуглить его р...

CharacterController лучше не использовать, на ранних этапах он кажется привлекательным, но позже вылазит много нерешаемых проблем. Я б советовал всё-таки через rigidbody

Константин Тощаков
Предположим, что знаю я А*, и могу нагуглить его р...

NavMesh юнитековский сам "ходит", то есть не надо писать Move Просто пишешь SetDestination и он идёт То есть для передвижения по навмешу не надо Character Controller или Rigidbody

Roman Salnikov
NavMesh юнитековский сам "ходит", то есть не надо ...

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

Pavel
Насколько я помню, навмеш агенты не видят других н...

Да почему, все видят, сам лично такое ТЗ делал

Roman Salnikov
Да почему, все видят, сам лично такое ТЗ делал

Я ж говорю не о колизии между ними, а о видении остальных как преграды. На видео видно, что они таранят друг друга, и так как это капсулы, они как бы съезжают по границе друг друга и поэтому идут дальше

Pavel
Я ж говорю не о колизии между ними, а о видении ос...

Хотя вроде есть решения на Ютубе для реал тайм расчета траектории

Вроде есть алгоритм grid pathfinder ai

Похожие вопросы

Обсуждают сегодня

Ребята, всем привет. Подскажите, пожалуйста, можно ли как-то через бота понять, что этого бота добавили в группу\канал и выдали ему права администратора?
Artem Stormageddon
9
Это переведённый текст с английского. Я не говорю на русском, но могу использовать переводчик Телеграм. Приветствую! Я начинающий веб-разработчик и все еще учусь. В настояще...
𐩱𐩪𐩣𐩱𐩲𐩺𐩡
3
А не хотим ли мы развлечься? 😉 Но так чтобы с пользой для наших профессиональных навыков?? 👨‍🎓👩‍🎓 Предлагаю на октябрь запланировать тестовый запуск новой командной игры "Игр...
Andrii Kurdiumov
2
Привет всем! Почему этот код не срабатывает при добавлении или удалении пользователя из чата? bot.on('chat_member', async (ctx) => { console.log(ctx); }) bot.launch({allo...
Alexander
5
у кого сколько оперативы на базе данных ?
АДИЛЬБЕК
4
Через бот апи возможно получить ID стикерпака? Не ссылку.
Vexylon [АФК до 09.09]
5
Привет Хочу сделать аналог iCloud’а для своих проектов, чтобы пользовательская информация хранилась в облаке, была доступна во всех сервисах, её можно было подсасывать везде)...
Виталий
9
В тг можно спарсить всех кто пишет в группе? Если список участников скрыт
S
3
код Event::listen('cms.page.display', function (&$content, $slug, $page, $html) { if (is_object($content)) { dump($content); } else { dump($s...
Point 111
3
Всем привет. Не понимаю, в чём тут шутка юмора. Убирается только разрешение на send_messages. А send_media_messages остаётся. Как сделать, чтобы оба убирались? await b...
Alexander
2
Карта сайта