Я прочитал форум, и, как я уверен, этот вопрос задавался раньше, но я не мог найти то, что искал.
Моя проблема заключается в следующем:
У меня есть AI-персонаж, движущийся по сплайну. Если этот путь заблокирован, персонаж должен двигаться по дуге вокруг него, а затем продолжать свой путь.
Ради аргументов предположим, что сплайн имеет длину 7000 единиц.
Поэтому у меня есть два трехмерных (x, y, z) вектора. Первый вектор — это текущая позиция ИИ-бота, а второй вектор — позиция за препятствием. Пока скажем так: текущая позиция сплайна + 400 единиц; позже я мог бы сделать трассировку линии, чтобы получить размер препятствия и т. д., но сейчас меня это не волнует.
Теперь я хотел бы вычислить альтернативный путь, чтобы избежать вышеупомянутого препятствия, следовательно, вычислить дугу между этими двумя точками. Как мне это сделать? Я действительно ужасен в математике, но смотрел на траекторию снаряда, потому что думал, что это будет примерно то же самое, просто не мог этого понять :‹