Я пытаюсь переместить парусный корабль в точку, где я щелкнул мышью. это движение должно быть реалистичным (весло сзади, где корабль движется), поэтому, если щелкнуть левой кнопкой мыши и перед кораблем, корабль должен затем двигаться туда с извилистой траекторией, чтобы иметь правильное вращение
я был бы рад, если бы кто-то мог помочь мне с этим вопросом, спасибо
unity
movement
movement-prediction
DavidT
источник
источник
Ответы:
Смотрите эту страницу
источник
Как простое решение, как я уже сказал в комментарии, вы можете попробовать этот подход:
рассмотрим фазу, когда вы указываете корабль в направлении цели, в этой фазе вы применяете вращение к глотку, а также движение вперед. Когда корабль уже направлен к цели, вы можете применить полную скорость движения вперед. Я организовал тест в love2d, здесь следуйте методу обновления корабля.
Анимация примера показывает (последний цикл) случай, когда корабль не может достичь цели, так как комбинация скорости поворота и движения вперед определяет слишком большой радиус поворота, в этом случае может быть полезно уменьшить "
turnForwordSpeed
" или лучше сделать это зависит от углового расстояния (a
) и целевого расстояния.источник
Система ячеек Unity Nav, вероятно, будет делать то, что вы хотите, немного поиграв со значениями агента навигации.
Навигационные сетки довольно просты в использовании. И используется только в настройках сверху вниз (или, по крайней мере, доступно только для перемещения по оси X / Z)
Страница руководства Unity по настройке навигационной сетки
По сути, вы можете использовать любую сетку формы, чтобы запекать область навигации, добавлять навигационные агенты к вашим объектам и заставлять их находить пути вокруг сетки навигации.
источник