Usei o código abaixo criando um parâmetro de correr e não dá certo. somente com a tecla "I" ele muda de animação. Com as outras teclas para dar movimento de correndo não funciona a animação. Apenas move o personagem na animação parado/idle. O que fazer para corrigir?
public class ControlaJogador : MonoBehaviour {
public float Velocidade = 10;
// Update is called once per frame
void Update()
{
float eixoX = Input.GetAxis("Horizontal");
float eixoZ = Input.GetAxis("Vertical");
float eixoY = Input.GetAxis("Vertical1");
Vector3 direcao = new Vector3(eixoX, eixoY, eixoZ);
transform.Translate(direcao * Velocidade * Time.deltaTime);
if(direcao != Vector3.zero)
{
GetComponent<Animator>().SetBool("Movendo", true);
}
else
{
GetComponent<Animator>().SetBool("Movendo", false);
}
if (Input.GetKey(KeyCode.P))
{
GetComponent<Animator>().SetBool("Correndo", true);
transform.Translate(Vector3.forward*Time.deltaTime*10);
}
else
{
GetComponent<Animator>().SetBool("Correndo", false);
}
if (Input.GetKey(KeyCode.L))
{
GetComponent<Animator>().SetBool("Correndo", true);
transform.Translate(Vector3.back * Time.deltaTime * 10);
}
else
{
GetComponent<Animator>().SetBool("Correndo", false);
}
if (Input.GetKey(KeyCode.O))
{
GetComponent<Animator>().SetBool("Correndo", true);
transform.Translate(Vector3.right * Time.deltaTime * 10);
}
else
{
GetComponent<Animator>().SetBool("Correndo", false);
}
if (Input.GetKey(KeyCode.I))
{
GetComponent<Animator>().SetBool("Correndo", true);
transform.Translate(Vector3.left * Time.deltaTime * 10);
}
else
{
GetComponent<Animator>().SetBool("Correndo", false);
}
}
}