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

O gerador não gera zumbi

Oi, Boa tarde, pode me ajudar? meu gerador não gera nenhum zumbi, mas não aparece nada no console. me ajuda por favor.

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
12 respostas

Oi, Frederick, tudo bem?

  • O script está no gerador?
  • O prefab tá certinho?
  • Já conferiu o script se algo está errado? Exemplo: Start, Update ou Awake com letra minuscula

Conta um pouco mais pra gente quando esse problema começou e como está seu script

Eu percebi o erro, os zumbis estão nascendo em baixo do mapa, mas bem em baixo mesmo, me ajude, por favor.

O gerador está posicionado corretamente?

Sim, no estacionamento.

Você consegue tirar uma foto da Unity de como ele está posicionado e colar seu script aqui também?

Lembra de colocar o jogador um pouco pra cima assim o zumbi porque se tiver bem certinho a física pode interagir e jogar o zumbi para baixo.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

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

public class GeradorDeZumbis : MonoBehaviour {

public GameObject Zumbi;
private float contadorTempo = 0;
public float TempoGerarZumbi = 1;
private float distanciaDeGeracao = 3;

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

}

 void OnDrawGizmos()
{
    Gizmos.color = Color.yellow;
    Gizmos.DrawWireSphere(transform.position, distanciaDeGeracao);
}


// Update is called once per frame
void Update()
{
    contadorTempo += Time.deltaTime;


    if (contadorTempo >= TempoGerarZumbi)
    {
        GerarNovoZumbi();
        contadorTempo = 0;
    }



}

void GerarNovoZumbi()
{

    Vector3 posicaoDeCriacao = AleatorizarPosicao();
    Instantiate(Zumbi, posicaoDeCriacao, transform.rotation);
}

Vector3 AleatorizarPosicao()
{
    Vector3 posicao = Random.insideUnitSphere * 3;
    posicao += transform.position;
    posicao.y = 0;

    return posicao;
}

}

Na imagem não dá pra ver o transform. Você pode selecionar um gerador e tirar um print com o Inspector mostrando o Transform?

Como está o valor do Y?

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

solução!

É isso, no curso eu levo em consideração que estamos trabalhando normalmente com Y zero, seu cenário tá muito pra cima do normal e os zumbis nascem no Y = 0 de acordo com script, você pode mudar ele pra levar essa movimentação em consideração, assim:

Vector3 AleatorizarPosicao()
{
    Vector3 posicao = Random.insideUnitSphere * 3;
    posicao.y = 0;
    posicao += transform.position;


    return posicao;
}

Ao inverter essa ordem você cancela a aleatorização de posição em Y mas na hora de nascer o zumbi nasce perto de onde está o gerador então vai pegar a posição Y do gerador.

Esse erro já foi, agora o zumbi não é morto pela bala.

Tenta dar uma olhada e resolver esse. Qualquer coisa estamos por aqui :)

....Oi, ja resolvi.Obrigado