Animação de Morte 2
3 participantes
Página 1 de 1
Animação de Morte 2
Eae galera, tudo bem? Esses dias eu abri um tópico mas não foi resolvido em relação a animação de morte do meu personagem!!!
Eu acompanhei um vídeo do Marcos que ele ensina como fazer as animações do inimigo e tals, porem eu tentei acrescentar algumas linhas nele para que tivesse a animação de morte, porem sem sucesso. Gostaria se alguém pudesse me ajudar em relação a isso!!!
Eu acompanhei um vídeo do Marcos que ele ensina como fazer as animações do inimigo e tals, porem eu tentei acrescentar algumas linhas nele para que tivesse a animação de morte, porem sem sucesso. Gostaria se alguém pudesse me ajudar em relação a isso!!!
- Código:
using UnityEngine;
using System.Collections;
[RequireComponent(typeof(Animator))]
[RequireComponent(typeof(AudioSource))]
public class AninINTELIGENCIA : MonoBehaviour {
public INTELIGENCIA2 Navgador;
public AudioClip Atacar, Olhar, Passear, Perseguir;
public bool AldioTocando;
public float AldioDuracao;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
if (AldioTocando == true) {/// AldioTocando ------------------------------------------------------
AldioDuracao += Time.deltaTime;
if (AldioDuracao >= GetComponent<AudioSource> ().clip.length ) {
AldioTocando = false;
AldioDuracao = 0;
}
}//----------------------------------------------------------------------------------------------------
if (Navgador.BAtacar == true) {/// Atacar ------------------------------------------------------
GetComponent<Animator> ().SetBool ("Atacar", true);
GetComponent<AudioSource> ().clip = Atacar;
GetComponent<AudioSource> ().PlayOneShot (Atacar);
} else {
GetComponent<Animator> ().SetBool ("Atacar", false);
}//----------------------------------------------------------------------------------------------------
if (Navgador.BOlhar == true) {/// Olhar ------------------------------------------------------
GetComponent<Animator> ().SetBool ("Olhar", true);
if (GetComponent<AudioSource> ().clip != Olhar) {
AldioTocando = false;
AldioDuracao = 0;
Debug.Log ("Aldio Trocado");
}
if (AldioTocando == false) {
GetComponent<AudioSource> ().clip = Olhar;
GetComponent<AudioSource> ().PlayOneShot (Olhar);
AldioTocando = true;
}
} else {
GetComponent<Animator> ().SetBool ("Olhar", false);
}//----------------------------------------------------------------------------------------------------
if (Navgador.BPassear == true) {/// Passear ------------------------------------------------------
GetComponent<Animator> ().SetBool ("Passear", true);
if (GetComponent<AudioSource> ().clip != Passear) {
AldioTocando = false;
AldioDuracao = 0;
Debug.Log ("Aldio Trocado");
}
if (AldioTocando == false) {
GetComponent<AudioSource> ().clip = Passear;
GetComponent<AudioSource> ().PlayOneShot (Passear);
AldioTocando = true;
}
} else {
GetComponent<Animator> ().SetBool ("Passear", false);
}//----------------------------------------------------------------------------------------------------
if (Navgador.BPerseguir == true) { /// perseguir ------------------------------------------------------
GetComponent<Animator> ().SetBool ("Perseguir", true);
if (GetComponent<AudioSource> ().clip != Perseguir) {
AldioTocando = false;
AldioDuracao = 0;
Debug.Log ("Aldio Trocado");
}
if (AldioTocando == false) {
GetComponent<AudioSource> ().clip = Perseguir;
GetComponent<AudioSource> ().PlayOneShot (Perseguir);
AldioTocando = true;
}
} else {
GetComponent<Animator> ().SetBool ("Perseguir", false);
}//----------------------------------------------------------------------------------------------------
}
}
- Código:
using UnityEngine;
using System.Collections;
public class Inimigo : MonoBehaviour {
public float vida = 100;
public bool chamouMorte = false;
void Update () {
if (vida <= 0) {
vida = 0;
if (chamouMorte == false) {
chamouMorte = true;
StartCoroutine ("Morrer");
}
}
}
IEnumerator Morrer(){
GetComponent<MeshRenderer> ().material.color = Color.red;
yield return new WaitForSeconds (2);
Destroy (gameObject);
}
}
Edivandro2706- Avançado
- PONTOS : 2089
REPUTAÇÃO : 4
Respeito as regras :
Re: Animação de Morte 2
man pelo que eu to vendo vc só esqueceu de chamar a animação de morrer ,não achei uma referencia para chamar a animação de morte em parte alguma ,se tem me mostra só essa parte
hendrick22- MembroAvançado
- PONTOS : 2689
REPUTAÇÃO : 57
Idade : 25
Respeito as regras :
Re: Animação de Morte 2
Na verdade esse é o script que eu peguei do vídeo, o que eu tentei complementar é esse:
Eu acrescentei nas linhas 37, 38, 39. Porem não deu certo!!
Eu acrescentei nas linhas 37, 38, 39. Porem não deu certo!!
- Código:
using UnityEngine;
using System.Collections;
[RequireComponent(typeof(Animator))]
[RequireComponent(typeof(AudioSource))]
public class AninINTELIGENCIA : MonoBehaviour {
public INTELIGENCIA2 Navgador;
public AudioClip Atacar, Olhar, Passear, Perseguir;
public bool AldioTocando;
public float AldioDuracao;
public Inimigo JJ;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
if (AldioTocando == true) {/// AldioTocando ------------------------------------------------------
AldioDuracao += Time.deltaTime;
if (AldioDuracao >= GetComponent<AudioSource> ().clip.length ) {
AldioTocando = false;
AldioDuracao = 0;
}
}//----------------------------------------------------------------------------------------------------
if (Navgador.BAtacar == true) {/// Atacar ------------------------------------------------------
GetComponent<Animator> ().SetBool ("Atacar", true);
GetComponent<AudioSource> ().clip = Atacar;
GetComponent<AudioSource> ().PlayOneShot (Atacar);
} else {
GetComponent<Animator> ().SetBool ("Atacar", false);
}//----------------------------------------------------------------------------------------------------
if (JJ.chamouMorte == true) {
GetComponent<Animator> ().SetBool ("Morte", true);
}
if (Navgador.BOlhar == true) {/// Olhar ------------------------------------------------------
GetComponent<Animator> ().SetBool ("Olhar", true);
if (GetComponent<AudioSource> ().clip != Olhar) {
AldioTocando = false;
AldioDuracao = 0;
Debug.Log ("Aldio Trocado");
}
if (AldioTocando == false) {
GetComponent<AudioSource> ().clip = Olhar;
GetComponent<AudioSource> ().PlayOneShot (Olhar);
AldioTocando = true;
}
} else {
GetComponent<Animator> ().SetBool ("Olhar", false);
}//----------------------------------------------------------------------------------------------------
if (Navgador.BPassear == true) {/// Passear ------------------------------------------------------
GetComponent<Animator> ().SetBool ("Passear", true);
if (GetComponent<AudioSource> ().clip != Passear) {
AldioTocando = false;
AldioDuracao = 0;
Debug.Log ("Aldio Trocado");
}
if (AldioTocando == false) {
GetComponent<AudioSource> ().clip = Passear;
GetComponent<AudioSource> ().PlayOneShot (Passear);
AldioTocando = true;
}
} else {
GetComponent<Animator> ().SetBool ("Passear", false);
}//----------------------------------------------------------------------------------------------------
if (Navgador.BPerseguir == true) { /// perseguir ------------------------------------------------------
GetComponent<Animator> ().SetBool ("Perseguir", true);
if (GetComponent<AudioSource> ().clip != Perseguir) {
AldioTocando = false;
AldioDuracao = 0;
Debug.Log ("Aldio Trocado");
}
if (AldioTocando == false) {
GetComponent<AudioSource> ().clip = Perseguir;
GetComponent<AudioSource> ().PlayOneShot (Perseguir);
AldioTocando = true;
}
} else {
GetComponent<Animator> ().SetBool ("Perseguir", false);
}//----------------------------------------------------------------------------------------------------
}
}
Edivandro2706- Avançado
- PONTOS : 2089
REPUTAÇÃO : 4
Respeito as regras :
Re: Animação de Morte 2
Coloca um Debug.Log("Chamou Morte") na hora que chama a animação de morte para ver se essa linha está sendo executada na hora certa.
Se no Console aparecer a mensagem, então deve ser problema no seu Animation Controller e não no código.
Se no Console aparecer a mensagem, então deve ser problema no seu Animation Controller e não no código.
Kleber Lucas- Iniciante
- PONTOS : 1786
REPUTAÇÃO : 5
Idade : 27
Áreas de atuação : Programação e Game Design
Respeito as regras :
Re: Animação de Morte 2
Deu certo, minha animação estava errada!!! Porem quando aciona a animação de morte, o personagem fica deitado no ar. Sabe como faz para que ele caia no chão?
Edivandro2706- Avançado
- PONTOS : 2089
REPUTAÇÃO : 4
Respeito as regras :
Re: Animação de Morte 2
Provavelmente é o Collider dele que na hora da morte, fica distante em relação ao modelo/sprite da morte.
Uma solução é criar dois Collider, um para vivo e outro para morto, se o cara estiver vivo um collider fica ativo, quando ele morrer o outro fica ativo.
Uma solução é criar dois Collider, um para vivo e outro para morto, se o cara estiver vivo um collider fica ativo, quando ele morrer o outro fica ativo.
Kleber Lucas- Iniciante
- PONTOS : 1786
REPUTAÇÃO : 5
Idade : 27
Áreas de atuação : Programação e Game Design
Respeito as regras :
Re: Animação de Morte 2
se não for o collider ,como o outro colega disse pode ser a posição da raiz de animação do personagem ,dê uma olhada no arquivo de animação da morte e verifique a posição da animação e em relação a posição y, a vc tá usando root motion ? (normalmente essas complicações ocorre quando tá usando ele)Edivandro2706 escreveu:Deu certo, minha animação estava errada!!! Porem quando aciona a animação de morte, o personagem fica deitado no ar. Sabe como faz para que ele caia no chão?
hendrick22- MembroAvançado
- PONTOS : 2689
REPUTAÇÃO : 57
Idade : 25
Respeito as regras :
Tópicos semelhantes
» Animação de morte
» ANIMAÇÃO DE MORTE EM LOOPING
» Gostaria de fazer a animação do arco seguir animação do personagem
» Morte do Player
» Duvida com morte do personagem
» ANIMAÇÃO DE MORTE EM LOOPING
» Gostaria de fazer a animação do arco seguir animação do personagem
» Morte do Player
» Duvida com morte do personagem
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos