на скрине - всё равно дёргается. И пробовал в Update() домноженно на dt - ещё хуже.
Как RB перемещать плавно, что я делаю не так?
контроллер тут у меня просто ходит от 0.0f до 12.0f, секунд за 5-6, чтобы можно было оценить плавность
Может управление физикой, в принципе, невозможно плавным делать? :)
То есть ты одновременно двигаешь через физику и через трансформ?
interpolate на РБ включен?
Он возвращает объект на позицию, а не двигает)
Умножить на time.DeltaTime ?
А что значит "чтобы было плавно"? Он у тебя пока едет дергается или он постепенно разгоняется и едет все быстрее и быстрее?
А с AddForce пробовал?
Учитывай что у тебя на RB ещё влияет гравитация, если ты её не отключил. Через велосити ты переписываешь и её влияние тоже, что может вызывать дерганье. Если так, попробуй перед записью в велосити взять из неё значение по Y и добавить к остальной скорости. Кстати, код из апдейта в факсед апдейт можешь записать.
Любые прогрессивные действия должны выполнятся с использованием дельты тайм Движение через velocity исключает действие внешних физических факторов на физическое поведение субъекта (так как ты его перезаписываешь, можно это исправить если в векторе добавить локальные данные) Для движения через физику, компонент Rigidbody нужно правильно настроить Если ты манипулируешь значением velocity, то делать это нужно в Update, так как это не прямое взаимодействие с физикой, а присваивание значения И золотое правило умножения вектора с двумя и более переменными, сначала идет умножение всех переменных, а вектор идет последним(float * float * vector) Так как умножение вектора тяжелая операция и должна производиться один раз (пример: speed * Time.deltaTime * Vector3)
Я понимаю, к этому и хотел провести
Обсуждают сегодня