Сетка, пошаговая система движений (Unity3d) (C #) - PullRequest
0 голосов
/ 20 мая 2018

Я новичок в единстве и программировании в целом (у меня отличное понимание правил программирования, я просто еще не совсем хорошо разбираюсь в синтаксисе и лексиконе).Я делаю пошаговую, основанную на сетке, тактическую RPG, в значительной степени вдохновленную Final Fantasy Tactics.Я нахожусь на начальных этапах, и хотя я понимаю, что метод проб и ошибок является критически важной частью процесса обучения, особенно в том, что касается программирования (у меня есть опыт работы в веб-разработке), я просто хотел бы по крайней мереправильный путь, если я собираюсь упасть!

Мой вопрос в системе движения.Каждый игрок будет иметь скорость и значение прыжка от 1 до 10. За каждую 1 скорость, которую он имеет, он может двигаться на 1 клетку (то же самое для прыжка).Диагональное движение считается движением 2 квадратов.Как мне использовать Navmesh (думаю, мне также может понадобиться использовать рассеяние лучей, но я не совсем все понимаю), чтобы выделить область допустимых движений на основе их скорости, прыжка и границ / объектов карты.Я хотел использовать эту систему в качестве контроллера движения.Когда они нажимают на выделенный квадрат, активный персонаж перемещается туда.

Вот пример того, о чем я говорю.

1 Ответ

0 голосов
/ 20 мая 2018

Классический алгоритм навигации известен как Алгоритм Джикстры или, в улучшенной форме, как "A *".Он гарантированно дает оптимальные пути и довольно эффективен;для масштаба проблемы в вашем примере это будет очень быстро. Этот проект Github включает пример Unity и несколько хороших пояснительных видео.В сети есть множество других реализаций A * / Djikstra, включая пример Javascript с живой демо-версией и исходным кодом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...