1
resposta

Coloquei o codigo no FixedUpdate porem nao movimenta mais o personagem so faz a animação

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ControlaJogador : MonoBehaviour
{
    public float Velocidade = 10;
    Vector3 direcao;
    // Update is called once per frame
    private void Update()
    {
        float eixoX = Input.GetAxis("Horizontal");
        float eixoZ = Input.GetAxis("Vertical");

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



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

    void FixedUpdate()
    {
        //Movimentando pela fisica (posi;ao do rigibody + calculo do movimento)
        GetComponent<Rigidbody>().MovePosition(GetComponent<Rigidbody>().position + (direcao * Velocidade * Time.deltaTime));
    }
}
1 resposta

Oi, Caio, tudo bem?

Aparece algum Warning no Console? Tenta remover o componente de script e o Rigidbody depois adiciona de novo.

Verifica também se não tem dois scripts com o mesmo nome no projeto e se está tudo certinho.

Se não resolver manda o seu projeto pra gente? Pode ser via Dropbox, Google Drive, etc. só colocar o link aqui :)

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software