[TUTORIAL] Sistema de Combos (Mobile e PC)
2 participantes
Página 1 de 1
[TUTORIAL] Sistema de Combos (Mobile e PC)
Sistema de Combos (Mobile):
1. Primeiro, crie um Canvas, clicando com o botão direito do mouse UI>Canvas.
2. Segundo, crie o botão , clicando com o botao direito do mouse sobre o Canvas e vai em UI>Button e edite-o do jeito que deseja.
3. Terceiro, crie um Animator para o seu jogador e dentro do Animator, coloque todas suas animações (A animação inicial, do attack 1, attack 2 e attack 3), nao esquece de conferir se o Loop Time das animações não está ativado, se estiver desative. Deve ficar assim:
Expandir esta imagem Ver em tamanho real
4. Depois crie um parametro do tipo Int , com o nome "Combo"
5. Agora crie transições entre os attacks, de ida e volta, é só clicar com o botao direito do mouse sobre o State e ir em Make Transiton. Tem que ficar assim:
Expandir esta imagem Ver em tamanho real
6. Em todas transições desative o Has Exit Time, e clique no + em Conditions vai aparecer o parametro Combo, e em todas coloque em Equals. Depois para cada transição de ida, adicone um 1 e para todas de volta deixe 0 (Irei mandar um video para nao parecer muito confuso).
Transições de ida:
Expandir esta imagem Ver em tamanho real
Transições de volta:
Expandir esta imagem Ver em tamanho real
7. Crie um script com o nome Combo, e coloque ele no seu Jogador:
8. Agora, clique sobre animação "Attack_1" (No caso utiliza a sua animaçao de primeiro ataque) na aba Project e aperte Ctrl + 6, voce vai ver que vai abrir uma aba Animation, com varios losangulos, que sao as etapas das posições, rotações e etc da animação, no ultimo frame, clique sobre ele, e no canto esquerdo voce verá um simbolo ao lado do losangulo, ele é o Add Event, clique nele e vai aparecer para colocar uma função, coloque o Combo2. Faça o mesmo com a Animação Attack 2 e Attack 3, porém, para a 2 coloque a função Combo3 e para a Animação Attack_3 coloque a função FinalizarCombo. Olhe:
Para a Animação Attack_1:
Expandir esta imagem Ver em tamanho real
Para a Animação Attack_2:
Expandir esta imagem Ver em tamanho real
Para a Animação Attack_3:
Expandir esta imagem Ver em tamanho real
Video de demonstração:
Sistema de Combos (PC):
Faça a mesma coisa, porém não precisa fazer a parte do botão e do Canvas e troque o Script por esse:
1. Primeiro, crie um Canvas, clicando com o botão direito do mouse UI>Canvas.
2. Segundo, crie o botão , clicando com o botao direito do mouse sobre o Canvas e vai em UI>Button e edite-o do jeito que deseja.
3. Terceiro, crie um Animator para o seu jogador e dentro do Animator, coloque todas suas animações (A animação inicial, do attack 1, attack 2 e attack 3), nao esquece de conferir se o Loop Time das animações não está ativado, se estiver desative. Deve ficar assim:
Expandir esta imagem Ver em tamanho real
4. Depois crie um parametro do tipo Int , com o nome "Combo"
5. Agora crie transições entre os attacks, de ida e volta, é só clicar com o botao direito do mouse sobre o State e ir em Make Transiton. Tem que ficar assim:
Expandir esta imagem Ver em tamanho real
6. Em todas transições desative o Has Exit Time, e clique no + em Conditions vai aparecer o parametro Combo, e em todas coloque em Equals. Depois para cada transição de ida, adicone um 1 e para todas de volta deixe 0 (Irei mandar um video para nao parecer muito confuso).
Transições de ida:
Expandir esta imagem Ver em tamanho real
Transições de volta:
Expandir esta imagem Ver em tamanho real
7. Crie um script com o nome Combo, e coloque ele no seu Jogador:
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI; //Para conseguir acessar as ferramentas UI
public class Combo : MonoBehaviour
{
[SerializeField]int clicks;
public Animator anim; //Coloque seu Animator aqui no inspector
public Button botaoAttack; //Coloque seu botao de ataque aqui no inspector
void Start()
{
botaoAttack.onClick = new Button.ButtonClickedEvent();
botaoAttack.onClick.AddListener(() => Atacar());
}
void Update()
{
}
public void Atacar()
{
clicks++;
Combo1();
}
public void Combo1()
{
clicks = Mathf.Clamp(clicks,0,3);
if(clicks == 1)
{
anim.SetInteger("Combo",1);
}
}
public void Combo2()
{
if(clicks >= 2)
{
anim.SetInteger("Combo",2);
}
else
{
anim.SetInteger("Combo",0);
clicks = 0;
}
}
public void Combo3()
{
if(clicks >= 3)
{
anim.SetInteger("Combo",3);
}
else
{
anim.SetInteger("Combo",0);
anim.SetInteger("Combo",0);
clicks = 0;
}
}
public void FinalizarCombo()
{
anim.SetInteger("Combo",0);
anim.SetInteger("Combo",0);
anim.SetInteger("Combo",0);
clicks = 0;
}
}
8. Agora, clique sobre animação "Attack_1" (No caso utiliza a sua animaçao de primeiro ataque) na aba Project e aperte Ctrl + 6, voce vai ver que vai abrir uma aba Animation, com varios losangulos, que sao as etapas das posições, rotações e etc da animação, no ultimo frame, clique sobre ele, e no canto esquerdo voce verá um simbolo ao lado do losangulo, ele é o Add Event, clique nele e vai aparecer para colocar uma função, coloque o Combo2. Faça o mesmo com a Animação Attack 2 e Attack 3, porém, para a 2 coloque a função Combo3 e para a Animação Attack_3 coloque a função FinalizarCombo. Olhe:
Para a Animação Attack_1:
Expandir esta imagem Ver em tamanho real
Para a Animação Attack_2:
Expandir esta imagem Ver em tamanho real
Para a Animação Attack_3:
Expandir esta imagem Ver em tamanho real
Video de demonstração:
Sistema de Combos (PC):
Faça a mesma coisa, porém não precisa fazer a parte do botão e do Canvas e troque o Script por esse:
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Combo : MonoBehaviour
{
[SerializeField]int clicks;
public Animator anim; //Coloque seu Animator aqui no inspector
void Start()
{
}
void Update()
{
if(Input.GetMouseButtonDown(0))
{
clicks++;
Combo1();
}
}
public void Combo1()
{
clicks = Mathf.Clamp(clicks,0,3);
if(clicks == 1)
{
anim.SetInteger("Combo",1);
}
}
public void Combo2()
{
if(clicks >= 2)
{
anim.SetInteger("Combo",2);
}
else
{
anim.SetInteger("Combo",0);
clicks = 0;
}
}
public void Combo3()
{
if(clicks >= 3)
{
anim.SetInteger("Combo",3);
}
else
{
anim.SetInteger("Combo",0);
anim.SetInteger("Combo",0);
clicks = 0;
}
}
public void FinalizarCombo()
{
anim.SetInteger("Combo",0);
anim.SetInteger("Combo",0);
anim.SetInteger("Combo",0);
clicks = 0;
}
}
Pokedlg- ProgramadorMaster
- PONTOS : 2315
REPUTAÇÃO : 198
Áreas de atuação : Iniciante: ShaderLab, Blender, Java, C++, ASP.NET.
Intermediário: C#.NET, Unity, Shader Graph.
Respeito as regras :
Re: [TUTORIAL] Sistema de Combos (Mobile e PC)
oi, sou eu o cara que comentou no seu video do youtube entao ele conta os clicks porem nao conta na float da animaçao, e por isso nao sai da primeira animaçao.
gustakegamer@gmail.com- Iniciante
- PONTOS : 1789
REPUTAÇÃO : 3
Respeito as regras :
Re: [TUTORIAL] Sistema de Combos (Mobile e PC)
olá, voce poderia mandar imagens da suas transições no animator, talvez vc tenha entendido errado quando eu falei: "Depois para cada transição de ida, adicone um 1". O que eu quiz dizer foi, o numero anterior + 1. E talvez por isso nao sai do numero 1 e entao fica somente na 1° animação. Mas para ter certeza seria melhor com imagens
Pokedlg- ProgramadorMaster
- PONTOS : 2315
REPUTAÇÃO : 198
Áreas de atuação : Iniciante: ShaderLab, Blender, Java, C++, ASP.NET.
Intermediário: C#.NET, Unity, Shader Graph.
Respeito as regras :
Re: [TUTORIAL] Sistema de Combos (Mobile e PC)
muito obrigado consegui, e desculpa pela demora para responder
gustakegamer@gmail.com- Iniciante
- PONTOS : 1789
REPUTAÇÃO : 3
Respeito as regras :
Tópicos semelhantes
» sistema de combos e danos
» [TUTORIAL] Sistema de DIA E NOITE completo, com luzes noturnas e SISTEMA DE NUVENS
» Sistema de Musica Mobile
» Como se faz um sistema de combo pra mobile
» Qual é o melhor sistema ADS para mobile ?
» [TUTORIAL] Sistema de DIA E NOITE completo, com luzes noturnas e SISTEMA DE NUVENS
» Sistema de Musica Mobile
» Como se faz um sistema de combo pra mobile
» Qual é o melhor sistema ADS para mobile ?
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos