Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Meu zumbi só ataca quando empurro ele por um tempo

seguir todos os passos da aula e ele estava atacando o jogador, mas quando mudei o código pra isso usando as abreviações do private, os zumbis só atacavam quando eu empurrava eles por um tempo, olhei o código varias vezes e revi varias vezes a aula e não consigo encontrar o erro, poderia me ajudar?

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

public class ControlaInimigo : MonoBehaviour
{
    public GameObject Jogador;
    public float Velocidade = 5;
    private Rigidbody rigidbodyInimigo;
    private Animator animatorInimigo;

    // Start is called before the first frame update
    void Start()
    {
        Jogador = GameObject.FindWithTag("Jogador");
        int GeraTipoZumbi = Random.Range(1, 28);
        transform.GetChild(GeraTipoZumbi).gameObject.SetActive(true);
        rigidbodyInimigo = GetComponent<Rigidbody>();
        animatorInimigo = GetComponent<Animator>();

    }

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

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

        Vector3 direcao = Jogador.transform.position - transform.position;

        Quaternion novaRotacao = Quaternion.LookRotation(direcao);
        rigidbodyInimigo.MoveRotation(novaRotacao);

        if (distancia > 2.5)
        {
            rigidbodyInimigo.MovePosition(
                rigidbodyInimigo.position +
                direcao.normalized * Velocidade * Time.deltaTime);

            animatorInimigo.SetBool("Atacando", false);
        }
        else
        {
            animatorInimigo.SetBool("Atacando", true);
        }
    }

    void AtacaJogador()
    {
        Time.timeScale = 0;
        Jogador.GetComponent<ControlaJogador>().TextoGameOver.SetActive(true);
        Jogador.GetComponent<ControlaJogador>().Vivo = false;
    }
}
1 resposta
solução

Oi, Victor, tudo bem?

Você pode diminuir o valor do zumbi andar para algo como > 2 ou mexer um pouco nos colisores do zumbi e personagem para que eles fiquem mais próximos.

Pode ser que a distância entre os colisores está muito grande assim ele cai na condição de andar ao invés de atacar.