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.

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

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software