Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

EAE, desculpa encomodar tanto kk mas agora eu botei o codigo da aula no meu jogo e o personagem ficou correndo parado e eu nao entendi nada agora e embaixo ta o codigo da aula

public class ControlaJogador : MonoBehaviour
{

    public float Velocidade = 10;
    Vector3 direcao;
    // Update is called once per frame
    void Update()
    {

        float eixoX = Input.GetAxis("Horizontal");
        float eixoZ = Input.GetAxis("Vertical");

        direcao = new Vector3(eixoX, 0, eixoZ);

        if (direcao != Vector3.zero)
        {
            GetComponent<Animator>().SetBool("Movendo", true);
        }
        else
        {
            GetComponent<Animator>().SetBool("Movendo", false);
        }
    }

    void FixedUpdate()
    {
        GetComponent<Rigidbody>().MovePosition
            (GetComponent<Rigidbody>().position +
            (direcao * Velocidade * Time.deltaTime));
    }
}
10 respostas

Oi, Davi, tudo bem?

Não se preocupe estamos aqui pra ajudar.

Olha ao que parece seu código está perfeito! Sabe o que pode ser?

Lembra que seu código está se comunicando com o seu Animator.

Dá uma olhada em como estão as transições entre as animações.

Lembra que de Idle para Correr tem que ser Movendo true e de Correr para idle Movendo false. E em ambas tem que estar desmarcado has exit time.

Veja se isso resolve o seu problema. Se sim, lembre-se de marcar essa resposta como correta. Se não resolver é só falar.

Bom curso :)

Oi, Davi, tudo bem?

Não se preocupe estamos aqui pra ajudar.

Olha ao que parece seu código está perfeito! Sabe o que pode ser?

Lembra que seu código está se comunicando com o seu Animator.

Dá uma olhada em como estão as transições entre as animações.

Lembra que de Idle para Correr tem que ser Movendo true e de Correr para idle Movendo false. E em ambas tem que estar desmarcado has exit time.

Veja se isso resolve o seu problema. Se sim, lembre-se de marcar essa resposta como correta. Se não resolver é só falar.

Bom curso :)

henrique nao tenho mais o q fazer fez tudo o q disse mas o jogo so ta rodando o correr e ignorando o idle

Pode enviar uma foto do seu Animator, com os parâmetros e animações?

Pode subir a imagem em qualquer serviço de imagens tipo: dropbox, googledrive, onedrive, imgur, etc. e colocar o link aqui.

https://drive.google.com/file/d/1_G65HLhn_OH5m7SeVCddsGVQdvSA2OHZ/view

ta ai o print eu acho q ta tudo certo tambem, valeu !!

Davi, blz?

Tem como você zipar o projeto e mandar aqui?

Não consegui identificar nada de errado, lembra de mandar um link publico porque aí fica fácil de baixar.

Oi, Davi, tudo bom?

Dei uma olhada no seu projeto, sabe o que era?

Lembra que eu falei que o script e Classe tinham que ter o mesmo nome?

Então o seu script chamava Controlajogador e sua Classe dentro dele chamada ControlaJogador. Parece besteira mas isso é bem importante hehe.

Veja que ele está com erro falando Este script não pode ser carregado. Então é por isso que apesar de estar certo o código seu script não estava funcionando.

Renomeia o seu arquivo então no Unity pro nome da Classe que tá no script que ele deve funcionar.

Bons estudos :)

ta bom !! valeu pela ajuda henrique !

henrique eu cansei eu renomeei tudo peguei o arquivo direto da pasta da aula e botei la e nao funcionou ele continuou correndo q nem um idiota, eu vou começar um novo projeto pra eu me estressar menos

Tudo bem! Isso também faz parte do aprendizado, fazer a mesma coisa algumas vezes é uma excelente forma de aprender.

Quando eu estava aprendendo eu costumava montar um projeto depois ao terminar jogava tudo fora e começava do zero. Porque assim eu já tinha a experiência da primeira tentativa então a segunda vez sempre saia melhor.

Só não pode deixar a peteca cair, tem que continuar tentando! E fazer projetos simples e diferentes pra ir ganhando experiência.

Bons estudos :)