почему не запускаются анимации через скрипт
написал скрипт на машину но анимации для поворота не работают

public Animator anim;
void Update()
{
if (Input.GetKey(KeyCode.A)&&!Input.GetKey(KeyCode.D))//поворот влево
{
transform.Rotate(0, -_speed * Time.deltaTime*rotationSpeed, 0);
anim.SetInteger("param", 0);
}
if (Input.GetKeyUp(KeyCode.A))//поворот право с лево
{
anim.SetInteger("param", 1);
}
if (Input.GetKey(KeyCode.D)&&!Input.GetKey(KeyCode.A))//поворот право
{
transform.Rotate(0, _speed * Time.deltaTime*rotationSpeed, 0);
anim.SetInteger("param", 2);
}
if (Input.GetKeyUp(KeyCode.D))//поворот лево с право
{
anim.SetInteger("param", 3);
}
}
private void Start()
{
anim = GetComponent<Animator>();
}
если надо вот весь скрипт
static float _speed = 0.0f;
[SerializeField] float _maxSpeed = 120.0f;
[SerializeField] float _minAccelerationSpeed = 10.0f;
[SerializeField] float _maxAccelerationSpeed = 15.0f;
[SerializeField] float _minTormozSpeed = 30.0f;
[SerializeField] float _maxTormozSpeed = 70.0f;
[SerializeField] float rotationSpeed;
public Transform[] weels;
public Animator anim;
void Update()
{
if (Input.GetKey(KeyCode.W) && _speed < _maxSpeed)
{
_speed += Random.Range(_minAccelerationSpeed * Time.deltaTime, _maxAccelerationSpeed * Time.deltaTime);
}
if (!Input.GetKey(KeyCode.W) && _speed > 0)
{
_speed -= Random.Range(_minAccelerationSpeed * Time.deltaTime, _maxAccelerationSpeed * Time.deltaTime);
}
_speed = Mathf.Clamp(_speed, 0, 120);
transform.Translate(0, 0, -_speed*Time.deltaTime);
if (Input.GetKey(KeyCode.A)&&!Input.GetKey(KeyCode.D))//поворот влево
{
transform.Rotate(0, -_speed * Time.deltaTime*rotationSpeed, 0);
anim.SetInteger("param", 0);
}
if (Input.GetKeyUp(KeyCode.A))//поворот право с лево
{
anim.SetInteger("param", 1);
}
if (Input.GetKey(KeyCode.D)&&!Input.GetKey(KeyCode.A))//поворот право
{
transform.Rotate(0, _speed * Time.deltaTime*rotationSpeed, 0);
anim.SetInteger("param", 2);
}
if (Input.GetKeyUp(KeyCode.D))//поворот лево с право
{
anim.SetInteger("param", 3);
}
if (Input.GetKey(KeyCode.LeftShift) && _speed >0 || Input.GetKey(KeyCode.RightShift) && _speed > 0)
_speed -= Random.Range(_minTormozSpeed * Time.deltaTime, _maxTormozSpeed * Time.deltaTime);
weels[0].Rotate(-_speed, 0, 0);
weels[1].Rotate(-_speed, 0, 0);
weels[2].Rotate(-_speed, 0, 0);
weels[3].Rotate(-_speed, 0, 0);
}
private void Start()
{
anim = GetComponent<Animator>();
}
(поправка, работает только анимация LeftRotate, но работает постоянно и независимо от скрипта)