2D top down передвижение

Форум для всего, что связано с ИИ.

2D top down передвижение

Сообщение simxan 03 окт 2022, 03:43

Здравствуйте, я любитель-разработчик на Unity, вместе с братом делаем пиксельную тайловую 2D RPG-игру. Столкнулись с проблемой реализации передвижения персонажа. Задача стоит такая: при клике мыши по карте, персонаж должен передвигаться к ней по кратчайшему маршруту, но с определённым шагом (например в 1.0f) и только в двух осях, x и y, попутно меняя вектора направления (через Vector2.up или Vector3.up например), чтобы он сохранял положение вектора после остановки. Реализовать скрипт на передвижение получилось двумя способами, через клавиши (передвигается по тайлам, но суть механики нам не подходит), либо нажатием мыши по карте (передвигается по прямой траектории, что опять же нам не подходит). Есть ли возможность как-то комбинировать эти механики, чтобы персонаж двигался строго по тайлам, попутно избегая коллайдеры (ну ячейки, на которые он не может ступить, к примеру стена или вода). То есть можно ли центр позиции игрока привязать к центру сетки размерами 1, 1, 0? Пробовал разные варианты, гуглил, ничего не нашёл. Если нужно будет подробнее описать проблему, скину скрипты-наработки, которые мы написали.
simxan
UNец
 
Сообщения: 2
Зарегистрирован: 03 окт 2022, 03:28

Re: 2D top down передвижение

Сообщение 1max1 03 окт 2022, 21:18

Алгоритм А*, классика.
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: 2D top down передвижение

Сообщение simxan 04 окт 2022, 13:44

Может быть продемонстрируете на C# в Unity.Engine как это примерно выглядит?
simxan
UNец
 
Сообщения: 2
Зарегистрирован: 03 окт 2022, 03:28

Re: 2D top down передвижение

Сообщение 1max1 05 окт 2022, 01:31

В гугле и на ютубе есть много примеров.
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51


Вернуться в Искуственный Интеллект

Кто сейчас на конференции

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