Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

NullReferenceException: Object reference not set to an instance of an object

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

public class ControlaInimigo : MonoBehaviour
{
    public GameObject Jogador;
    public float Velocidade = 6;

    // Start is called before the first frame update
    void Start()
    {
        Jogador = GameObject.FindWithTag("Jogador");
    }

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

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

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

        if (distancia > 2.25)
        {            
            GetComponent<Rigidbody>().MovePosition(GetComponent<Rigidbody>().position + (direcao.normalized * Velocidade * Time.deltaTime));

            GetComponent<Animator>().SetBool("Atacando", false);
        }
        else
        {
            GetComponent<Animator>().SetBool("Atacando", true);
        }
    }

    void AtacaJogador ()
    {
        Time.timeScale = 0;
        Jogador.GetComponent<ControlaJogador>().TextoGameOver.SetActive(true);
        Jogador.GetComponent<ControlaJogador>().vivo = false;
    }
}

O unity me redireciona esse erro, e ao clicar pra ver onde está acontecendo ele aponta a linha 18 do Script ControlaInimigo:

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

2 respostas
solução!

MEU DEUS DO CÉU, falta de atenção da nisso, olhei o nome do Object do jogador q está nomeado Jogador e achei q fosse a Tag, mas embaixo percebi que estava sem tag, por isso os zumbis não seguiam e dava erro

Olá Gean, tudo bem?

Acontece de esquecermos algumas coisa rs. O importante é que achou o problema e conseguiu resolver.

Qualquer dúvida, fique tranquilo para perguntar.

Abraços e bons estudos!