Я использую GameplayKit
для создания путей вокруг препятствий на заданной границе карты (скажем, прямоугольник 1000x1000).
Я знаю, что вы можете заставить определенные узлы избегать «препятствий» при поиске пути, что я довольно хорошо использую. Что меня интересует, однако, таково:
- Есть ли способ использовать ту же логику и считать все, не на границе карты, «препятствием»?
Обходным решением было бы создать 2 SKNode
и соединить их вместе, чтобы создать внутреннюю «дыру», которая становится 1000x1000, но я пытаюсь избежать ненужного добавления узлов, если есть лучший способ. Ниже я показываю, что я мог сделать.
В идеале я хочу, чтобы красно-черная область рассматривалась как препятствие, чтобы все пути оставались внутри главной площади.
ОБНОВЛЕНИЕ: я использую GameplayKit
, как я уже сказал, и алгоритм поиска пути не может учитывать области, НЕ включенные в данное физическое тело, как препятствие. Он может считать препятствия только замкнутыми полигонами, лежащими в пределах области. Создание двух узлов, как показано выше, работает, потому что поиск пути теперь не сможет создать точки, лежащие за пределами зеленого прямоугольника.