* Налаштування маршруту для динамічних перешкод та заблокованих гравцем?


11

Привіт, я створюю TD в Unity 5 і мені потрібна допомога з моїм Pathfinding.

Я буду використовувати Arons A * pathfinding для мого AI, який дозволяє мені використовувати динамічні об'єкти та оновлювати шлях під час виконання. Однак у своїй грі я хочу, щоб гравець міг блокувати міньйонів спеціальними баштами, які змусять міньйонів атакувати "блок-башню" замість того, щоб пройти повз їх місця призначення.

Як я міг зробити щось подібне?

Зображення для більшої чіткості: введіть тут опис зображення

Відповіді:


22

Я не розглядав конкретну реалізацію A * від Aaron, але за допомогою звичайного A * ви могли б включити "блок-башню" як прохідну місцевість, але оновити евристичну так, що "вартість" набагато вище, ніж звичайна плитка (так що AI оцінить, чи простіше знищити блок і продовжити або просто пройти шлях, який не блокується).

Тоді вам потрібно буде оновити свій ІІ, щоб, коли противник намагався перейти від звичайної плитки до «блокової плитки», він автоматично атакує, поки не буде знищений.


8
+1 Я хотів би додати, що ви можете розраховувати, що вартість блокувальної башти буде розрахована залежно від того, скільки часу знадобиться X кількість та тип міньйонів, щоб знищити її, якщо є якась різниця. Попередньо встановлена ​​вартість для вежі може бути неточною, якщо міньйони нижнього рівня потребують 5 секунд, щоб знищити її, але один суперміньон може зробити це за 1 секунду.
Нечітка логіка

0

Якщо те, що ви шукаєте, є свого роду насмішкуватою вежею, ви можете додати до нього коллайдер, встановлений як тригер, і коли міньони ввійдуть до тригера, вони просто сценарії атакувати вежу.

Якщо ви хочете, щоб міньйони атакували вежі лише тоді, коли альтернативних шляхів немає, тоді, коли шлях заблокований, а A * викликається, щоб обчислити інший шлях, якщо він повернеться в нулеве значення, тоді ви зможете сценаріювати ворогів, щоб знайти усі насмішні вежі та націлити їх.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.