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

Jogador é empurrado ao colidir com algo.

O meu jogador ao colidir com alguma coisa, seja uma parede com Box collider ou um inimigo com Capsule, está sendo empurrado na direção contraria que ele está indo. A camera não treme nem nada, é como se ele empurra-se uma mola e quando eu solto o WASD o personagem começa a andar na direção contraria, como se tive-se sido 'catapultado'.

Eu alterei sua massa para 100, com isso esses empurrões não acontecem se colidir com um inimigo mas ainda acontece com uma parede.

A parte de movimento no Jogador com as vars usadas.


public float speed;
public Rigidbody rb;
Vector3 direcao;

void FixedUpdate()
    {
    // Movimentos do Jogador.
        float eixoX = Input.GetAxis("Horizontal");
        var eixoZ = Input.GetAxis("Vertical");

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

        rb.MovePosition(rb.position + direcao * speed * Time.deltaTime);


        Vector3 mousePos = Input.mousePosition;
        Ray mira = Camera.main.ScreenPointToRay(mousePos);

        RaycastHit hit;

        if (Physics.Raycast(mira, out hit, 100))
        {
            Vector3 crosshair = hit.point - transform.position;

            crosshair.y = transform.position.y;

            Quaternion newRotation = Quaternion.LookRotation(crosshair);

            rb.MoveRotation(newRotation);
        }
1 resposta
solução!

RESOLVIDO! O jogador estava com a gravidade desligada, liguei ela e agora está tudo certo.