В даний час я роблю 2-х грі оборонної вежі зі статичною, заздалегідь визначеною смугою, за якою слідують вороги (тобто вежі не можуть перекрити шлях і пошук шляху - це не проблема, яку я намагаюся вирішити).
Я намагаюся зрозуміти, як саме змусити підрозділи плавно рухатись по цій смузі . У мене є дві грубі ідеї, як це зробити, але мені б хотілося, щоб деякі матеріали, які, швидше за все, було легше здійснити / більш стандартна методика. Або звичайно, якщо у мене є якийсь абсолютно інший спосіб, про який я не вважав, що хотів би дізнатися і про це.
Точкові точки: Моя перша ідея полягала в тому, щоб визначити шлях як ряд жорстко закодованих точкових точок. Потім одиниці використовуватимуть базовий алгоритм рульового керування (наприклад, цей ) для переміщення до кожної точки маршруту послідовно. Однак я задумався, чи може бути важко утримати відхилення підрозділів у значній мірі від смуги, за якою я хочу їх виконувати. Мені цікаво, чи неможливість досить різкого повороту може призвести до того, що вони начебто «скочуються» з потрібної смуги. Я припускаю, що я міг би запобігти цьому, дозволяючи застосувати відносно сильну рульову силу?
Криві Безьє: Друге рішення, яке я розглядав, - це визначити шлях за кривою Безьє і під час кожного кроку обчислювати точку вздовж кривої з (dt * швидкістю) від поточного розташування одиниці. Я підозрюю, що ця методика значно полегшила б точно визначити шлях, який будуть слідувати одиниці, але я не знаю, як саме йти до цього. Будь-які пропозиції?
Крім того, я не знаю, це змінить чиїсь відповіді, але одиниці також повинні мати можливість рухатися з постійною швидкістю по шляху. Крім того, я програмую цю гру в python, використовуючи структуру pyglet.
Якщо щось із цього питання незрозуміле, будь ласка, дайте мені знати.
Редагувати: Також, як би там не було, я намагаюся повторити поведінку ворогів у " Королівському піску" .