Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

os controles se misturaram

eu fiz o codigo e quando eu fui testar os controles tavam misturados, W e S tavam fazendo o personagem andar pra esquerda e para a direita,e o A e o D para frente e para traz

ta ai o codigo

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

public class controle : MonoBehaviour { // Start is called before the first frame update void Start() {

}

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));
}

}

o que que eu fiz de errado?

1 resposta
solução!

Oi, Fred, tudo bem?

Provavelmente é a rotação da personagem, a personagem tem que apontar para o eixo Z da Unity, zere a rotação e veja se isso resolve o problema.

Caso queira que a personagem fique do jeito que está você teria que "equilibrar" essa rotação invertendo eixos tanto em posição quando em valores.

Qualquer coisa estou por 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