Script sem erro, mas não funciona
3 participantes
Página 1 de 1
Script sem erro, mas não funciona
Estou tentando colocar o inimigo pra fazer uma animação quando recebe um tiro, o script não diz erro, mas tbm não funciona.
Ele só aparece esse aviso(Animator is not playing an AnimatorController)
Tive que usar dois script, pq foi a única forma de fazer a animação na hora do inimigo ser atingido
Script de animação:
Script de atirar:
Ele só aparece esse aviso(Animator is not playing an AnimatorController)
Tive que usar dois script, pq foi a única forma de fazer a animação na hora do inimigo ser atingido
Script de animação:
- Código:
public class Animação : MonoBehaviour {
public Animator anima;
private GameObject Jogador;
void Start () {
anima = this.GetComponent<Animator>();
Jogador = GameObject.FindWithTag("Player");
}
void Update () {
if (Vector3.Distance(transform.position, Jogador.transform.position) < 2.5f) {
anima.SetBool("Ataque", true);
}else {
anima.SetBool("Ataque", false);
}
}
}
Script de atirar:
- Código:
public class Atirar : Animação
//isso dentro da void update e dentro do if de apertar o botão do mouse
if (Physics.Raycast(transform.position, transform.forward, out pontoDeColisao)) {
if (pontoDeColisao.transform.gameObject.tag == TagInimigo) {
pontoDeColisao.transform.gameObject.GetComponent<VidaInimigo>().vida -= armas[armaAtual].danoPorTiro;
anima.SetBool("ReceberTiro", true);
}
}
aleksander700- Membro
- PONTOS : 2852
REPUTAÇÃO : 7
Respeito as regras :
Re: Script sem erro, mas não funciona
Animator is not playing an AnimatorController
Então voce criou um Animator Controller, configuro os estados do mesmo e no animator do seu player onde esta Animator voce setou esse animator?
Re: Script sem erro, mas não funciona
Sim, as outras animações funcionam normalmente, só essa de receber o tiro que não, e a diferença dela é que o animator.setbool está no script de atirar, que está no meu personagem, e não no monstro, seria isso?Manawydan escreveu:Animator is not playing an AnimatorController
Então voce criou um Animator Controller, configuro os estados do mesmo e no animator do seu player onde esta Animator voce setou esse animator?
aleksander700- Membro
- PONTOS : 2852
REPUTAÇÃO : 7
Respeito as regras :
Re: Script sem erro, mas não funciona
Alguém me ajuda por favor?
aleksander700- Membro
- PONTOS : 2852
REPUTAÇÃO : 7
Respeito as regras :
Re: Script sem erro, mas não funciona
Eu criei uma void no script da animação chamada tiro, dai quando o raycast la no script atirar acerta o inimigo ela chama a void la no script da animação, e a void tem o anima.SetBool... etc
Só que agr aparece esse erro (NullReferenceException: Object reference not set to an instance of an object)
Só que agr aparece esse erro (NullReferenceException: Object reference not set to an instance of an object)
aleksander700- Membro
- PONTOS : 2852
REPUTAÇÃO : 7
Respeito as regras :
Re: Script sem erro, mas não funciona
Só quando acerto o inimigo na vdd, fora isso n da erroaleksander700 escreveu:Eu criei uma void no script da animação chamada tiro, dai quando o raycast la no script atirar acerta o inimigo ela chama a void la no script da animação, e a void tem o anima.SetBool... etc
Só que agr aparece esse erro (NullReferenceException: Object reference not set to an instance of an object)
aleksander700- Membro
- PONTOS : 2852
REPUTAÇÃO : 7
Respeito as regras :
Re: Script sem erro, mas não funciona
Dai se eu deixo a variável anima, public, volta aquele (Animator is not playing an AnimatorController)aleksander700 escreveu:Só quando acerto o inimigo na vdd, fora isso n da erroaleksander700 escreveu:Eu criei uma void no script da animação chamada tiro, dai quando o raycast la no script atirar acerta o inimigo ela chama a void la no script da animação, e a void tem o anima.SetBool... etc
Só que agr aparece esse erro (NullReferenceException: Object reference not set to an instance of an object)
Ahh velho
aleksander700- Membro
- PONTOS : 2852
REPUTAÇÃO : 7
Respeito as regras :
Re: Script sem erro, mas não funciona
Nossa, finalmente resolvi, só ficou com um problema, a animação vai pra um inimigo aleatório, não vai pro que recebeu
meu script ta assim agr
- Código:
public void Tiro()
{
anima = GameObject.FindWithTag("Inimigo").GetComponent<Animator>();
StartCoroutine("Tempo");
}
IEnumerator Tempo()
{
anima.SetBool("ReceberTiro", true);
yield return new WaitForSeconds(0.5f);
anima.SetBool("ReceberTiro", false);
}
meu script ta assim agr
aleksander700- Membro
- PONTOS : 2852
REPUTAÇÃO : 7
Respeito as regras :
Re: Script sem erro, mas não funciona
Sera que não era mais facil vc colocar pra tocar a animação do inimigo no script da bullet?
Tipo vc faz a condição da bala encostar em alguem e ele toca a animação ?
Ja fiz isso e deu certo.
Tipo vc faz a condição da bala encostar em alguem e ele toca a animação ?
Ja fiz isso e deu certo.
wender- Avançado
- PONTOS : 3588
REPUTAÇÃO : 19
Idade : 26
Áreas de atuação : Modelagem, Programação
Respeito as regras :
Tópicos semelhantes
» erro erro e mais erro script de craft
» Erro no Script
» [RESOLVIDO] Erro SCRIPT C# com Objeto (Script need's to derive from MonoBehaviour)
» Não Acho o Erro no Script - é um script para o player se mover
» Erro no Script- "The script needs to derived from MonoBehavior"
» Erro no Script
» [RESOLVIDO] Erro SCRIPT C# com Objeto (Script need's to derive from MonoBehaviour)
» Não Acho o Erro no Script - é um script para o player se mover
» Erro no Script- "The script needs to derived from MonoBehavior"
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos