Я немного читаю и думаю, что когда я использую rb.velocity = new Vector2(speed, rb.velocity.y);
, эта часть сбрасывает всю физику на объекте. Особенно эта часть отвечает за эффект, о котором я говорю: rb.velocity.y
. Потому что Velocity сбрасывает физику на объект.
И когда я использую a.y = Input.GetAxisRaw("Vertical");
<- эта часть вообще не меняет скорость, она только меняет положение: </p>
rb.MovePosition((Vector2)transform.position + a * speed * Time.deltaTime);