5
respostas

Ao finalizar o código, meu personagem permanece se movimentando sozinho.

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

public class ControlPlayer : MonoBehaviour {

// Update is called once per frame
void Update() {

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

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

    transform.Translate(direcao);

}

}

5 respostas

Oi, Luiz, tudo bem?

Tem mais algum script na personagem? ou só esse?

Ola, vou mandar o script todo

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

public class ControlPlayer : MonoBehaviour {

public float Velocidade = 5;
Vector3 direcao;

void Update()
{
    //Inputs do Jogador - Guardando teclas apertadas
    float eixoX = Input.GetAxis("Horizontal");
    float eixoZ = Input.GetAxis("Vertical");

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

    //Animações do Jogador
    if (direcao != Vector3.zero)
    {
        GetComponent<Animator>().SetBool("Move", true);
    }
    else
    {
        GetComponent<Animator>().SetBool("Move", false);
    }
}

void FixedUpdate()
{
    //Movimentação do Jogador por segundo
    GetComponent<Rigidbody>().MovePosition
        (GetComponent<Rigidbody>().position +
        (direcao * Velocidade * Time.deltaTime));
}

}

Certo, ele continua se movimento em questão de animação ou andando pra frente mesmo?

Andando pra frente mesmo, a animação esta ok.

Acho que um conjunto de coisas podem ajudar:

Você pode aumentar um pouco aquele número de 2.5 para fazer a personagem e o zumbi não se tocar Aumentar a massa da personagem no Rigidbody para algo como 100 Aumentar o drag e o linear drag para 1 ou valor próximo assim o personagem desacelera muito mais rápido