Como fazer um sistem de combos ?
2 participantes
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Re: Como fazer um sistem de combos ?
Cara, o que você está pedindo é meio que algo BEEEEEEEEEEEEEM complexo.
Diga, você já tem as skills feitas? os ataques ou o que for? da pra fazer algumas checagens simples, como por exemplo, um cronometro que é disparado logo após o fim do ataque e uma checagem se o hit acertou ou não, mas é MUITO difícil deixar o sistema fluído e descente.
Diga, você já tem as skills feitas? os ataques ou o que for? da pra fazer algumas checagens simples, como por exemplo, um cronometro que é disparado logo após o fim do ataque e uma checagem se o hit acertou ou não, mas é MUITO difícil deixar o sistema fluído e descente.
Re: Como fazer um sistem de combos ?
eu ja fiz algo assim mas nao ficou 100% ficou uns 50%
Existe um defeito, Funciona assim eu tenho estamina e quando eu ataco eu gasto essa estamina mas a variavel de ativaçao do outro combo se torna verdadeira mas animaçao nao acontece, como verivicar se a animaçao foi executada ou nao.
Existe um defeito, Funciona assim eu tenho estamina e quando eu ataco eu gasto essa estamina mas a variavel de ativaçao do outro combo se torna verdadeira mas animaçao nao acontece, como verivicar se a animaçao foi executada ou nao.
- Código:
//A11
if (B1 == true && A11 == false && A12 == false && A13 == false) {// B1 é a variavel que diz se eu apertei o botao
A11T = true;
}
if (A11T == true) {
GetComponent <Animator> ().SetTrigger ("A11T");// parametro do Animator
Espada.GetComponent<DanoPlayer> ().ATK = (ATK / 2f);//Diz para o objeto espada o ATK
Espada.GetComponent<DanoPlayer> ().ATAKANDO = true;
Espada.GetComponent<DanoPlayer> ().ForcaImpacto = Forca/2f;
Espada.GetComponent<DanoPlayer> ().AtordCausado = ForcaDeAtordoamento;
A11 = true;// desliga o trigger assim nao pode ficar disparando toda hora
A11T = false;
A11AL =TA11;// cronometro para o controle da execuçao do A12
A12A = false;// controla o tempo de repetir a execuao A12
}
if (A11AL > 0) {
A11AL -= 1f * Time.deltaTime;
}
if (A11 == false) {
A11AL = 0;
}
//cronometro do A11
if (A11AL <= 0) {
A11AL = 0;
}
if (A11AL <= 0) {
A11 = false;
}
if (A11AL <= TIBA11A12) {
A11E = true;
}// tempo de abertura para a execuçao A12
if (A11AL <= TFBA11A12) {
A11E = false;
}//fechamento para a execuçao A12
//A12
if (B1 == true && A11E == true) {
A12 = true;
}
if (A12 == true) {
GetComponent <Animator> ().SetBool ("A12", true);// parametro para execuçao do segunda animaçao
if (Espada != null) {
Espada.GetComponent<DanoPlayer> ().NDesligarA12 = true;
Espada.GetComponent<DanoPlayer> ().ATK = (ATK / 1.9f); //Diz para o objeto espada o ATK
Espada.GetComponent<DanoPlayer> ().ForcaImpacto=Forca/2f;// Diz para o objeto espada a forca que o golpe tem
Espada.GetComponent<DanoPlayer> ().AtordCausado = ForcaDeAtordoamento;
}
AlarmAtA12 += 1f * Time.deltaTime;
A12A = true;
A13A = false;
A123A = true;
}
if (AlarmAtA12 >= AjALAtA12) {// tempo de execuçao do A12
DisparadorA12 += 1;
}
if (DisparadorA12 == 1) {
if (Espada != null) {
Espada.GetComponent<DanoPlayer> ().ATAKANDO = true; // Diz para o Objeto da Espda que ele esta atakando
}
}
if (A12 == false) {
GetComponent <Animator> ().SetBool ("A12", false);
AlarmAtA12 = 0;
DisparadorA12 = 0;
if (Espada != null) {
Espada.GetComponent<DanoPlayer> ().NDesligarA12 = false;
}
}
if (A12 == true) {
A12AL += 1f * Time.deltaTime;
}//cronometro do A12
if (A12AL >= TA12) {
A12AL = 0;
A12 = false;} // controla o tempo de execucao no animator
if (A12 == false) {
A12AL = 0;
}
//
if (A123A == true) {
A123AL += 1f * Time.deltaTime; //cronometro
}
if (A123AL > 1f) {
A123A = false;
A123AL = 0;
}
if (A123AL > TIBA12A13) {// cronometro paraa ativacao do A13 ajustavel
A12E = true;
}
if (A123AL < TFBA12A13) {
A12E = false;
}
// A13
if (B1 == true && A13A == false && A12E == true && NoAR == false) {
A13 = true;
}
if (A13 == true) {
GetComponent <Animator> ().SetBool ("A13", true);
Espada.GetComponent<DanoPlayer> ().NDesligarA13 = true;
Espada.GetComponent<DanoPlayer> ().ATK = (ATK / 1.8f); //Diz para o objeto espada o ATK
Espada.GetComponent<DanoPlayer> ().ForcaImpacto= (Forca*2f);
Espada.GetComponent<DanoPlayer> ().AtordCausado = ForcaDeAtordoamento*2f;
AlarmAtA13 += 1f*Time.deltaTime;
A13A = true;
}
if (AlarmAtA13 >= AjALAtA13) {
DisparadorA13 += 1;
}
if (DisparadorA13 == 1) {
if (Espada != null) {
Espada.GetComponent<DanoPlayer> ().ATAKANDO = true; // Diz para o Objeto da Espda que ele esta atakando
}
}
if (A13 == false) {
GetComponent <Animator> ().SetBool ("A13", false);// parametro para a execuçao do outra animaçao
AlarmAtA13 = 0;
DisparadorA13 = 0;
if (Espada != null) {
Espada.GetComponent<DanoPlayer> ().NDesligarA13 = false;
}
}
if (A13 == true) {
A13AL += 1f * Time.deltaTime;
}
//cronometro
if (A13AL > TA13) {
//Espada.GetComponent<DetectarATK> ().DetectarFalse = true;
A13 = false;
A13AL = 0;
}
Re: Como fazer um sistem de combos ?
Você pode simplesmente deixar uma variável verdadeira ao mesmo tempo que passa o comando para a animação... por exemplo, você passa o comando "SetTrigger" para alguma animação, e isto fará ela ser executada... logo abaixo deste comando, faça alguma variável booleana ficar verdadeira, isto servirá de indicativo que a animação foi executada.
Re: Como fazer um sistem de combos ?
obrigado
mas com o SetTrigger a animaçao nao fica boa ele volta a animaçao 1 do Arquivo, por que ele é um arquivo FBX com 50 Animaçoes e 30MB se fosse feito um arquivo para cada animaçao seria algo entorno de 300MB, mas uma duvida o Animator tem alguma funçao que diga se a animaçao esta executando ou executou?
mas com o SetTrigger a animaçao nao fica boa ele volta a animaçao 1 do Arquivo, por que ele é um arquivo FBX com 50 Animaçoes e 30MB se fosse feito um arquivo para cada animaçao seria algo entorno de 300MB, mas uma duvida o Animator tem alguma funçao que diga se a animaçao esta executando ou executou?
Re: Como fazer um sistem de combos ?
Tem sim, da uma olhada neste tutorial:Dom3000 escreveu:obrigado
mas com o SetTrigger a animaçao nao fica boa ele volta a animaçao 1 do Arquivo, por que ele é um arquivo FBX com 50 Animaçoes e 30MB se fosse feito um arquivo para cada animaçao seria algo entorno de 300MB, mas uma duvida o Animator tem alguma funçao que diga se a animaçao esta executando ou executou?
https://www.schultzgames.com/t383-tutorial-ressetar-parametros-do-animator-apos-executar-animacao-unity-5
Ou depois do GetComponent - Animator -, digita um .Get, e veja quantos comandos com Get aparecem...
você pode pegar todos os estados das animações.
Re: Como fazer um sistem de combos ?
eu usei o getcomponent do tuto e ele me da uma bool muuiito util vlw msm :D , mas para o sistema ficar perfeito eu presciso da informaçao de inicio e o tempo decorente da animaçao asim eu posso existe como saber isso, estive pesquisando e testando mas nao acheiMarcosSchultz escreveu:Tem sim, da uma olhada neste tutorial:Dom3000 escreveu:obrigado
mas com o SetTrigger a animaçao nao fica boa ele volta a animaçao 1 do Arquivo, por que ele é um arquivo FBX com 50 Animaçoes e 30MB se fosse feito um arquivo para cada animaçao seria algo entorno de 300MB, mas uma duvida o Animator tem alguma funçao que diga se a animaçao esta executando ou executou?
https://www.schultzgames.com/t383-tutorial-ressetar-parametros-do-animator-apos-executar-animacao-unity-5
Ou depois do GetComponent - Animator -, digita um .Get, e veja quantos comandos com Get aparecem...
você pode pegar todos os estados das animações.
Tópicos semelhantes
» Duvida sobre como fazer uma flecha fazer um arco ate cair no ponto
» [RESOLVIDO] alguém sabe como fazer um unico Input fazer duas ações?
» Alguém poderia fazer uma aula de como criar um sistema de fazer o personagem trocar de equipamento?
» como fazer um sistema de construçao de base? (como se fosse o do rust)
» Como eu posso fazer um player estilo GTA e que tenha uma câmera 360 como o GTA?
» [RESOLVIDO] alguém sabe como fazer um unico Input fazer duas ações?
» Alguém poderia fazer uma aula de como criar um sistema de fazer o personagem trocar de equipamento?
» como fazer um sistema de construçao de base? (como se fosse o do rust)
» Como eu posso fazer um player estilo GTA e que tenha uma câmera 360 como o GTA?
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos