Как создать плавный путь для персонажей в 2D игре - PullRequest
1 голос
/ 13 декабря 2010

Я создаю игру типа Tower-Defense для iPhone / Android, где вражеские отряды должны следовать по заранее определенному пути, который будет одинаковым для версий для iPhone и Android. Сначала я думал, что кубическими кривыми Безье или b-сплайном будет путь, однако я не нашел простого способа сгенерировать пути и описать их.

Является ли это правильным подходом, и если да, то есть ли какие-либо инструменты для графической генерации пути и определения координат контрольных точек и т. Д.?

Путь также должен быть сглажен (т. Е. Не набором отрезков).

Ответы [ 3 ]

1 голос
/ 14 декабря 2010

Я ищу сплайн Catmull-Rom (см .: http://www.cubic.org/docs/hermite.htm), который является просто типом кривой Эрмита, где контрольные точки вычисляются «автоматически». Apple фактически использует это в SDK поиск в документах для catmull-rom).

См. Также статью Википедии .

По сути, это просто позволяет вам ввести список точек, а функция даст вам плавный путь, проходящий через эти точки.

0 голосов
/ 13 декабря 2010

Вы пробовали алгоритм A-Star?Я думаю, что это очень хорошо для поиска пути.Алгоритм A-Star имеет две точки ввода: первая - объект для перемещения, вторая - пункт назначения, алгоритм затем найдет путь между ними, уклоняясь от блочных объектов.

0 голосов
/ 13 декабря 2010

Самый простой алгоритм поиска пути, который я знаю, - это поиск A *. Это даст вам кратчайший открытый путь между двумя точками. Чтобы описать конкретный путь в игре, вам нужно просто установить путевые точки и A * от точки к точке. Надеюсь это поможет. Удачи!

РЕДАКТИРОВАТЬ: вы можете найти A * реализации везде, Wikipedia является очевидным местом для начала.

...