Ao incluir o script GeradorZumbi, eles não atacam mais o personagem quando estão em grupo somente atacam se chegar perto somente um. E ao encostar no zumbi, o personagem e os outros inimigos empurram eles pra fora do cenário.
Ao incluir o script GeradorZumbi, eles não atacam mais o personagem quando estão em grupo somente atacam se chegar perto somente um. E ao encostar no zumbi, o personagem e os outros inimigos empurram eles pra fora do cenário.
Olá, tudo bem?
O prefab dos zumbis está aplicado? Como está o código?
ControlaInimigo.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ControlaInimigo : MonoBehaviour
{
public GameObject Jogador;
public float Velocidade = 3;
// Use this for inicialization
// Use this for initialization
void Start()
{
Jogador = GameObject.FindWithTag("Jogador");
}
//Update is called once per frame
void Update()
{
}
void FixedUpdate()
{
{
//pega distancia entre dois pontos e retorna um float
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);
//para quando chegar perto do jogador
if (distancia > 2.8)
{
//move em direção ao jogador
GetComponent<Rigidbody>().MovePosition
(GetComponent<Rigidbody>().position +
direcao.normalized * Velocidade * Time.deltaTime);
//faz o inimigo olhar pro personagem
GetComponent<Animator>().SetBool("Atacando", false);
}
else
{
GetComponent<Animator>().SetBool("Atacando", true);
}
}
}
//evendo da animção de ataque
void AtacaJogador ()
{
//pausa o jogo
Time.timeScale = 0;
//criar interface de gameover
Jogador.GetComponent<ControlaJogador>().TextGameOver.SetActive(true);
Jogador.GetComponent<ControlaJogador>().Vivo = false;
}
}
GeradorZumbi.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class GeradorZumbis : MonoBehaviour
{
public GameObject Zumbi;
float contadorTempo = 0;
public float TempoGerarZumbi = 1;
// Use this for initialization
void Start()
{
}
// Update is called once per frame
void Update()
{
contadorTempo += Time.deltaTime;
if (contadorTempo >= TempoGerarZumbi)
{
Instantiate(Zumbi, transform.position, transform.rotation);
contadorTempo = 0;
}
}
}
![]( )
Ao encostar nos zumbis o jogador joga eles pra fora do cenário, assim como os outros inimigos.
Hmm não entendi muito bem o problema ainda, seria legal ver o projeto.
Você consegue fazer um .zip da pasta do projeto e subir num Google Drive, Dropbox, ou algo assim e deixar o compartilhamento publico para que eu possa acessá-la?
Segue o link no Google Drive:
https://drive.google.com/file/d/1ga1abNXwR_HG7Hhv1xqZaIlNonss8z-x/view?usp=sharing
Oi, Michael, tudo bem?
É porque os zumbis são criados na posição gerador e ele está voando, zera o Y dele pra eles serem criados no chão, isso deve resolver.