PragmaGames
@PragmaGames
Увлекаюсь Unity.

Как решить проблему с движением персонажа?

Всем привет. Достаточно избитый вопрос, но все же. Есть игрок, который может двигаться. За ним всегда ходит собака. Когда собака доходит до точки (точка является трансформом который перемещается вслед за игроком) она начинается вертеться, я понимаю из-за чего это происходит, я пытался решить этот трабл условно допустимой дистанцией при которой собака может остановиться ( {Vector2.Distance(dog, point) < tolerance}). Но из-за этого собака идет как бы рывками, даже если игрок идет непрерывно вперед. Подбор условно допустимой дистанции не дал особых результатов. Может есть какой-то универсальный способ решения этой проблемы ?
  • Вопрос задан
  • 57 просмотров
Пригласить эксперта
Ответы на вопрос 3
LittleBob
@LittleBob
А нельзя сделать движение собаки через Mathf.Lerp или MoveTowards?
Ответ написан
Комментировать
@reLse
Может лучше через NavMesh собачку сделать, да и если остановить передвижение когда расстояние не позволяет то в чем проблема?)
Ответ написан
Комментировать
@NIKROTOS
Начинающий программист.
Зачем собаке идти за игроком постоянно? Сделай 2 триггера, один около игрока,если собака попадает в него, скрипт движения вырубается, второй с определённым радиусом, если собака выходит из него, скрипт включается.
Или используй для этого не триггеры, а расстояние до игрока( Хозяин далеко? Иди за ним. Хозяин близко? Сиди, смотри, чтоб не ушёл далеко).
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы