При движении одного объекта вверх, второй, стоящий на нем, начинает дергаться, немного проходя через текстуру [Unity 2D]
Движение платформы задал в FixedUpdate, функцией
transform.Translate(new Vector3(0, speed, 0));
У самого игрока я поставил:
Collision Detection -> Continuous
Interpolate -> Interpolate
(Не уверен, что они на что-то повлияли)
При обычном движении такого не замечал
Edit 1: Заменил FixedUpdate на обычный Update И умножил вектор на Time.deltaTime и на 200
transform.Translate(new Vector3(0, speed, 0) * Time.deltaTime * 200);
Это замедлило сам "лифт", но теперь выглядит все гораздо плавнее. Только все равно игрок попадает в текстуру немного. Чем выше скорость, тем больше игрок попадает в текстуру.
Это можно как-то исправить или придется с этим смириться?(кликабельно)
Вот, что происходит, если увеличить скорость в 10 раз
Edit 2:
Решено:) Спасибо Максим Фисман и Yaroslav
Обратно вернул FixedUpdate
Вместо
transform.Translate(new Vector3(0, speed, 0));
Поставил
rb.MovePosition(transform.position + new Vector3(0, speed, 0) * Time.deltaTime * speed2);
Инспектор у "лифта"
