Как всегда поворачивать объект в изначальное положение

В 2д игре персонаж в виде шарообразного объекта должен уметь поворачиваться, крутиться при контакте с объектом, но когда он взлетает, он всегда должен плавно возвращаться в нормальное положение, а не продолжать либо висеть скошено задом наперед или продолжать крутится.

Код движения персонажа с проверкой на касание с другими объектами:

public float Maxspeed = 10f;
public float jumpForce = 3f;
private Rigidbody2D rb;
public float d = 0.01f;
public Transform feetpos;
public float checkRadius;
public LayerMask isGround;
public bool isGrounded;

void Start()
{
    rb = GetComponent<Rigidbody2D>();
}

void Update()
{
    isGrounded = Physics2D.OverlapCircle(feetpos.position, checkRadius, isGround);

    if (Input.GetMouseButton(0))
    {

        Maxspeed += Time.deltaTime * d;
        rb.velocity = new Vector2(1, 1) * Maxspeed;
        jumpForce = 30f;


    }
    if (Input.GetMouseButton(1))
    {

        jumpForce += Time.deltaTime * d;
        rb.velocity = new Vector2(-1, 1) * jumpForce;
        Maxspeed = 30f;
    }
}
        
 

Ответы (0 шт):