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

[Bug] Inimigos se afastando depois de um tempo

Oi, Quando eu coloco o inimigo em cena para interagir com o personagem, ele interage por um tempo e depois vai se afastando do personagem até para fora da área do jogo e depois volta lentamente para o "estado original" dele. Teria como me ajudar? Não sei se de fato é pra ser assim ou fiz alguma coisa errada. Segue infos abaixo

    public GameObject Jogador;
    public float Velocidade = 5;

    // Start is called before the first frame update
    void Start()
    {
        
    }

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

    {
    }

    void FixedUpdate()
    {
        float distancia = Vector3.Distance(transform.position, Jogador.transform.position);

        if (distancia > 2) {

            Vector3 direcao = Jogador.transform.position - transform.position;
            GetComponent<Rigidbody>().MovePosition
                (GetComponent<Rigidbody>().position +
                direcao.normalized * Velocidade * Time.deltaTime);

            Quaternion novaRotacao = Quaternion.LookRotation(direcao);
            GetComponent<Rigidbody>().MoveRotation(novaRotacao);
        }
    }
}

Inimigo ficando distante

Inspetor do Inimigo

1 resposta
solução!

Oi, Henrique, blz?

acredito ser por causa desse if if (distancia > 2) { ele faz com que o inimigo só tenha comportamente longe do personagem, será que a distancia de 2 não tá longe ou perto demais?

Faz um teste coloca o personagem no 0, 0, 0 e depois o zumbi em 2, 0, 2 e veja quão longe ele ficou se ficou bem longe reduz esse valor.

Veja se isso resolve o problema, bons estudos!