Oi, Boa tarde, pode me ajudar? meu gerador não gera nenhum zumbi, mas não aparece nada no console. me ajuda por favor.
Oi, Boa tarde, pode me ajudar? meu gerador não gera nenhum zumbi, mas não aparece nada no console. me ajuda por favor.
Oi, Frederick, tudo bem?
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.
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?
É 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