Задать вопрос
@MuMuK

Как научить ИИ прыгать по платформам за игроком?

Такс, надо добавить некий ИИ NPC, чтобы они могли преследовать персонажа в 2D игре, с видом с боку. На сцене платформы, враги спавняться и падают сверху. Я уже научил их просто ходить за персонажем, но вот только они не умеют прыгать, в плане если персонаж запрыгнет на платформу выше врага, то челик будет просто стоять под ним в ожидании пока игрок спуститься. Как осуществить саму логику, чтоб враг понимал, когда ему прыгать на платформу, куда и где
  • Вопрос задан
  • 61 просмотр
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 2
VoidVolker
@VoidVolker Куратор тега C#
Dark side eye. А у нас печеньки! А у вас?
Точно так же как и любой другой алгоритм:
  1. Берёте бумажку, ручку и описываете задачу кратко и в общем
  2. Делаете декомпозицию задачи, разбив её на несколько меньших подзадач
  3. Повторяете декомпозицию вниз до самых простых и понятных действий
  4. Рисуете логическую схему со всеми деталями и действиями
  5. Пишете код
  6. Profit!

Пример

5bd748db6d572869658821.png
Ответ написан
Комментировать
@rPman
нужно перевести задачу на задачу поиска пути, например перемещение по плоской поверхности это узел дерева, прыжки - ребра дерева, с весом - расстояние (тебе же не самый идеальный путь нужен), строишь такое дерево, запускаешь поиск выхода из лабиринта (например поиск в ширину для нахождения кратчайшего), а затем, когда путь найден, запускаешь npc по нему, переходы между нодами, в зависимости от типа и размера этих нод делать соответственно либо движением в нужную сторону либо движением с прыжком, а момент, когда делать прыжок, это решение уравнения пересечения колайдера платформ и параболы движения в прыжке (если в прыжке есть отталкивания, их тоже в рассчет)

а вообще, при создании лабиринта, можно подсказки накидать npc, где им прыгать, вручную расставив коллайдеры, при пересечении которых (если двигается в определенную сторону) заставлять npc прыгать
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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