Игра в 2D
Я выделил цифру 5000 - это скорость полета.
Проблема в том, что будь там 50 или 5000, летит звездолет с одной и той же скоростью. Если поставить 0 или там 1 например, то он не будет лететь, или будет лететь медленно. Но в какой-то момент при повышении значения будто появляется потолок скорости, быстрее которого он лететь не может. В чем тут нюанс?
UPD: Этот звездолет летит по кривой Безье. На ней выстраиваются точки-координаты. И он летит от одной к другой с помощью MoveTowards. Получается движение по кривой
transform.position += transform.forward * Time.deltaTime * speed;
Спасибо, но не очень понял, как это применить к той строчке в моем коде transform.position += Vector2.MoveTowards(transform.position, newPos, transform.forward * 5000 * Time.deltaTime); Вы это имеете в виду?
Ты можешь просто сделать публичное float поле с атрибутом [Range(0,50)] и попробовать поиграться в рантайме, посмотреть как он себя ведёт. Потому что в самом методе MoveTowards все окей
Пробовал. Даже напрямую через код хардкодом вводил разные значения. Где-то после скорости равной 10 скорость движения перестает расти
Попробуй в дебаг.лог вывести трансформ текущего объекта, позиции к которой передвигается, и собственно скорость умноженную на time.deltatime(выведи в отдельную переменную). Посмотри кто из этих выродков ведёт себя не по человечески 😂😂. И ещё вопрос, а в каком монобеховском методе ты его( этот метод) вызываешь?
Я хз даже. Скинь весь скрипт
Обсуждают сегодня