Помогите пожалуйста с Unity

Помогите при ударе игрока об объект игрок начинает крутиться без всяких ограничений как это исправить? У меня всего 2 скрипта движения: 1 :

using UnityEngine;

public class ControleMove : MonoBehaviour { public float speed;

public void Update()
{
    
    var playerPosition = transform.position;

    if (Input.GetKey(KeyCode.D))
    {
        
        playerPosition.x += speed * Time.deltaTime;
    }

    
    if (Input.GetKey(KeyCode.W))
    {
        // Переместить игрока вверх
        playerPosition.y += speed * Time.deltaTime;
    }

    
    if (Input.GetKey(KeyCode.A))
    {
        
        playerPosition.x -= speed * Time.deltaTime;
    }

    
    if (Input.GetKey(KeyCode.S))
    {
        
        playerPosition.y -= speed * Time.deltaTime;
    }

    
    transform.position = playerPosition;
}

} 2 скрипт:

using UnityEngine;

public class Move : MonoBehaviour { public float speed;

public void Update()
{
    transform.position -= -Vector3.forward * speed * Time.deltaTime;
}

} И при ударе об трубу происходит это:


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